Function at 0x43cce0
Capabilities:
Check os version
Get system information on windows

Disassembly:
sub esp, 0x3d8
mov eax, dword [0x5467a4]
xor eax, esp
mov dword [esp + 0x3d4], eax
xor eax, eax
push ebx
push ebp
push esi
push 0x11c
push eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x40]
mov esi, ecx
push eax
mov dword [esp + 0x18], esi
call fcn.004f1960
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x3c], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ebp, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.GetNativeSystemInfo
push str.kernel32.dll
call ebp
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
test eax, eax
je 0x43cd71
lea edx, [esp + 0x14]
push edx
call eax
jmp 0x43cd7c
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x1ea
lea ecx, [esp + 0x15a]
push 0
push ecx
mov word [esp + 0x160], 0
call fcn.004f1960
mov eax, dword [esp + 0x54]
add esp, 0xc
cmp eax, 1
je 0x43cdcc
cmp eax, 2
jne 0x43cdb2
cmp dword [esp + 0x3c], 4
ja 0x43cdcc
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x3d4]
xor ecx, esp
call fcn.004e7d6f
add esp, 0x3d8
ret
push 0xf6
lea edx, [esp + 0x158]
push str.Microsoft
push edx
call fcn.004eb07d
add esp, 0xc
cmp dword [esp + 0x48], 1
jne 0x43cf0d
mov eax, dword [esp + 0x40]
cmp eax, 0x5a
mov byte [esi + 0x12c], 1
jne 0x43ce50
lea eax, [esp + 0x154]
add eax, 0xfffffffe
jmp 0x43ce10
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43ce10
mov ecx, dword [str.Windows_Me]
mov edx, dword [0x521054]
mov dword [eax], ecx
mov ecx, dword [0x521058]
mov dword [eax + 4], edx
mov edx, dword [0x52105c]
mov dword [eax + 8], ecx
mov ecx, dword [0x521060]
mov dword [eax + 0xc], edx
mov edx, dword [0x521064]
jmp 0x43cedb
cmp eax, 0xa
lea eax, [esp + 0x154]
jne 0x43ce9d
add eax, 0xfffffffe
nop
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43ce60
mov ecx, dword [str.Windows_98]
mov edx, dword [0x52106c]
mov dword [eax], ecx
mov ecx, dword [0x521070]
mov dword [eax + 4], edx
mov edx, dword [0x521074]
mov dword [eax + 8], ecx
mov ecx, dword [0x521078]
mov dword [eax + 0xc], edx
mov edx, dword [0x52107c]
jmp 0x43cedb
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43cea0
mov ecx, dword [str.Windows_95]
mov edx, dword [0x521084]
mov dword [eax], ecx
mov ecx, dword [0x521088]
mov dword [eax + 4], edx
mov edx, dword [0x52108c]
mov dword [eax + 8], ecx
mov ecx, dword [0x521090]
mov dword [eax + 0xc], edx
mov edx, dword [0x521094]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
lea eax, [esp + 0x154]
lea edx, [eax + 2]
jmp 0x43cef0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43cef0
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x158]
push eax
jmp 0x43daa3
cmp dword [esp + 0x3c], 6
push edi
jne 0x43d4ca
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x43cf7f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
cmp byte [esp + 0x156], 1
mov byte [esi + 0x12c], 0x10
jne 0x43cf60
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43cf40
mov ecx, 7
mov esi, str.Windows_Vista
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d033
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43cf60
mov ecx, 0xa
mov esi, str.Windows_Server_2008
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d033
cmp eax, 1
jne 0x43cfd3
lea eax, [esp + 0x158]
mov byte [esi + 0x12c], 0x20
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43cf95
mov ecx, dword [str.Windows_7]
mov edx, dword [0x5210e8]
mov dword [eax], ecx
mov ecx, dword [0x5210ec]
mov dword [eax + 4], edx
mov edx, dword [0x5210f0]
mov dword [eax + 8], ecx
mov ecx, dword [0x5210f4]
mov dword [eax + 0xc], edx
mov dx, word [0x5210f8]
jmp 0x43d02c
cmp eax, 2
jne 0x43d033
lea eax, [esp + 0x158]
mov byte [esi + 0x12c], 0x40
add eax, 0xfffffffe
lea esp, [esp]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43cff0
mov ecx, dword [str.Windows_8]
mov edx, dword [0x521100]
mov dword [eax], ecx
mov ecx, dword [0x521104]
mov dword [eax + 4], edx
mov edx, dword [0x521108]
mov dword [eax + 8], ecx
mov ecx, dword [0x52110c]
mov dword [eax + 0xc], edx
mov dx, word [0x521110]
mov dword [eax + 0x10], ecx
mov word [eax + 0x14], dx
push str.GetProductInfo
push str.kernel32.dll
mov dword [esp + 0x1c], 0
call ebp
push eax
call ebx
test eax, eax
je 0x43d065
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push ecx
push ecx
mov ecx, dword [esp + 0x50]
push ecx
call eax
mov eax, dword [esp + 0x14]
add eax, 0xffffffff
cmp eax, 0x30
ja case.0x43d07c.4
movzx edx, byte [eax + 0x43db14]
jmp dword [edx*4 + 0x43dac8]
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d090
mov ecx, 8
mov esi, str.Ultimate_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d0c0
mov ecx, 0xa
mov esi, str.Home_Premium_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d0f0
mov ecx, 9
mov esi, str.Home_Basic_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d120
mov ecx, 9
mov esi, str.Enterprise_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d150
mov ecx, 8
mov esi, str.Business_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d180
mov ecx, 8
mov esi, str.Starter_Edition
rep movsd dword es:[edi], dword [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x43d1b0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d1b0
mov ecx, 0xb
mov esi, str.Cluster_Server_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d1e0
mov ecx, 9
mov esi, str.Datacenter_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d210
mov ecx, 0x13
mov esi, str.Datacenter_Edition__core_installation_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d240
mov ecx, 9
mov esi, str.Enterprise_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d270
mov ecx, 0x13
mov esi, str.Enterprise_Edition__core_installation_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d2a0
mov ecx, 0x16
mov esi, str.Enterprise_Edition_for_Itanium_based_Systems
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d2d0
mov ecx, 0xb
mov esi, str.Small_Business_Server
rep movsd dword es:[edi], dword [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x43d300
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d300
mov ecx, 0x13
mov esi, str.Small_Business_Server_Premium_Edition
rep movsd dword es:[edi], dword [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x43d330
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d330
mov ecx, 8
mov esi, str.Standard_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d360
mov ecx, 0x12
mov esi, str.Standard_Edition__core_installation_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d390
mov ecx, 9
mov esi, str.Web_Server_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d3b6
mov ecx, 0xa
mov esi, str.Professional_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d41f
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x12c], 0x40
je 0x43d41f
lea eax, [esp + 0x158]
add eax, 0xfffffffe
lea esp, [esp]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d3f0
mov ecx, dword [str.Unknown]
mov edx, dword [0x52149c]
mov dword [eax], ecx
mov ecx, dword [0x5214a0]
mov dword [eax + 4], edx
mov edx, dword [0x5214a4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x18]
cmp ax, 9
jne 0x43d47c
mov eax, dword [esp + 0x10]
mov byte [eax + 0x12d], 1
lea eax, [esp + 0x158]
add eax, 0xfffffffe
mov edi, edi
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d440
mov ecx, dword [str.__64_bit]
mov edx, dword [0x5214ac]
mov dword [eax], ecx
mov ecx, dword [0x5214b0]
mov dword [eax + 4], edx
mov edx, dword [0x5214b4]
mov dword [eax + 8], ecx
mov cx, word [0x5214b8]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
jmp 0x43d4ca
test ax, ax
jne 0x43d4ca
lea eax, [esp + 0x158]
add eax, 0xfffffffe
jmp 0x43d490
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d490
mov edx, dword [str.__32_bit]
mov ecx, dword [0x5214c0]
mov dword [eax], edx
mov edx, dword [0x5214c4]
mov dword [eax + 4], ecx
mov ecx, dword [0x5214c8]
mov dword [eax + 8], edx
mov dx, word [0x5214cc]
mov dword [eax + 0xc], ecx
mov word [eax + 0x10], dx
mov ebp, 5
cmp dword [esp + 0x40], ebp
jne 0x43d995
mov eax, dword [esp + 0x44]
cmp eax, 2
jne 0x43d85f
mov eax, dword [esp + 0x10]
push 0x59
mov byte [eax + 0x12c], 8
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x154]
je 0x43d531
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d512
mov ecx, 0xc
mov esi, str.Windows_Server_2003_R2_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d5b8
cmp bx, 0x2000
jne 0x43d55a
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d542
mov ecx, 0xe
mov esi, str.Windows_Storage_Server_2003
jmp 0x43d5b6
cmp byte [esp + 0x156], 1
jne 0x43d591
cmp dx, 9
jne 0x43d591
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d574
mov ecx, 0x12
mov esi, str.Windows_XP_Professional_x64_Edition
rep movsd dword es:[edi], dword [esi]
jmp 0x43d7ba
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x43d5a0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d5a0
mov ecx, 0xb
mov esi, str.Windows_Server_2003_
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0x156], 1
je 0x43d7ba
cmp dx, 6
jne 0x43d62e
test bl, bl
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x12d], 1
jns 0x43d600
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d5e5
mov ecx, 0x16
mov esi, str.Datacenter_Edition_for_Itanium_based_Systems
jmp 0x43d7b6
test bl, 2
je 0x43d7ba
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d613
mov ecx, 0x16
mov esi, str.Enterprise_Edition_for_Itanium_based_Systems
jmp 0x43d7b6
cmp dx, 9
jne 0x43d6ab
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x158]
add edi, 0xfffffffe
test bl, bl
mov byte [edx + 0x12d], 1
jns 0x43d66b
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d650
mov ecx, 0xb
mov esi, str.Datacenter_x64_Edition
jmp 0x43d7b6
test bl, 2
je 0x43d690
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d670
mov ecx, 0xb
mov esi, str.Enterprise_x64_Edition
jmp 0x43d7b6
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d690
mov ecx, 0xa
mov esi, str.Standard_x64_Edition
jmp 0x43d7b6
test ebx, 0x4000
je 0x43d6dd
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d6c0
mov ecx, 0xc
mov esi, str.Compute_Cluster_Edition
rep movsd dword es:[edi], dword [esi]
jmp 0x43d7ba
test bl, bl
jns 0x43d70b
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x43d6f0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d6f0
mov ecx, 9
mov esi, str.Datacenter_Edition
jmp 0x43d7b6
test bl, 2
je 0x43d73b
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ebx, [ebx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d720
mov ecx, 9
mov esi, str.Enterprise_Edition
jmp 0x43d7b6
test ebx, 0x400
je 0x43d793
lea eax, [esp + 0x158]
add eax, 0xfffffffe
lea ecx, [ecx]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d750
mov ecx, dword [str.Web_Edition]
mov edx, dword [0x5216d4]
mov dword [eax], ecx
mov ecx, dword [0x5216d8]
mov dword [eax + 4], edx
mov edx, dword [0x5216dc]
mov dword [eax + 8], ecx
mov ecx, dword [0x5216e0]
mov dword [eax + 0xc], edx
mov edx, dword [0x5216e4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x43d7ba
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d7a0
mov ecx, 8
mov esi, str.Standard_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp dword [esp + 0x40], ebp
jne 0x43d995
mov eax, dword [esp + 0x44]
cmp eax, 1
jne 0x43d88f
mov eax, dword [esp + 0x10]
mov byte [eax + 0x12c], 4
lea eax, [esp + 0x158]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d7e6
mov ecx, dword [str.Windows_XP]
mov edx, dword [0x5216ec]
mov dword [eax], ecx
mov ecx, dword [0x5216f0]
mov dword [eax + 4], edx
mov edx, dword [0x5216f4]
mov dword [eax + 8], ecx
mov ecx, dword [0x5216f8]
mov dword [eax + 0xc], edx
mov edx, dword [0x5216fc]
lea edi, [esp + 0x158]
add edi, 0xfffffffe
test ebx, 0x200
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
je 0x43d870
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d840
mov ecx, 6
mov esi, str.Home_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d995
mov ebx, dword [esp + 0x154]
jmp 0x43d7c8
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d870
mov ecx, 6
mov esi, str.Professional
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d995
test eax, eax
jne 0x43d995
mov eax, dword [esp + 0x10]
lea edi, [esp + 0x158]
mov byte [eax + 0x12c], 2
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d8b0
cmp byte [esp + 0x156], 1
mov ecx, 7
mov esi, str.Windows_2000
rep movsd dword es:[edi], dword [esi]
jne 0x43d8ff
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d8e0
mov ecx, 6
mov esi, str.Professional
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x43d995
test bl, bl
jns 0x43d92a
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d910
mov ecx, 9
mov esi, str.Datacenter_Server
rep movsd dword es:[edi], dword [esi]
jmp 0x43d995
test bl, 2
je 0x43d95a
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d940
mov ecx, 8
mov esi, str.Advanced_Server
rep movsd dword es:[edi], dword [esi]
jmp 0x43d995
lea eax, [esp + 0x158]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x43d964
mov ecx, dword [str.Server]
mov edx, dword [0x52179c]
mov dword [eax], ecx
mov ecx, dword [0x5217a0]
mov dword [eax + 4], edx
mov dx, word [0x5217a4]
mov dword [eax + 8], ecx
mov word [eax + 0xc], dx
lea eax, [esp + 0x50]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43d9a0
sub eax, edx
sar eax, 1
je 0x43da1c
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x43d9c0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43d9c0
mov eax, dword [0x520714]
mov dword [edi], eax
lea eax, [esp + 0x50]
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43d9e0
lea edi, [esp + 0x158]
sub eax, edx
add edi, 0xfffffffe
jmp 0x43da00
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x43da00
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x48]
push ecx
push str.__build__d_
lea edx, [esp + 0x34c]
call fcn.0043dc70
lea eax, [esp + 0x34c]
add esp, 8
mov edx, eax
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43da40
lea edi, [esp + 0x158]
sub eax, edx
add edi, 0xfffffffe
jmp 0x43da60
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x43da60
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x158]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 2]
pop edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43da87
mov esi, dword [esp + 0xc]
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x158]
push edx
add esi, 0x110
call fcn.00407330
mov ecx, dword [esp + 0x3e0]
pop esi
pop ebp
pop ebx
xor ecx, esp
mov al, 1
call fcn.004e7d6f
add esp, 0x3d8
ret