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

Disassembly:
sub esp, 0x3d8
mov eax, dword [0x4ea6c4]
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.004ae6c0
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 0x426871
lea edx, [esp + 0x14]
push edx
call eax
jmp 0x42687c
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.004ae6c0
mov eax, dword [esp + 0x54]
add esp, 0xc
cmp eax, 1
je 0x4268cc
cmp eax, 2
jne 0x4268b2
cmp dword [esp + 0x3c], 4
ja 0x4268cc
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x3d4]
xor ecx, esp
call fcn.004abc64
add esp, 0x3d8
ret
push 0xf6
lea edx, [esp + 0x158]
push str.Microsoft
push edx
call fcn.004ac375
add esp, 0xc
cmp dword [esp + 0x48], 1
jne 0x426a0d
mov eax, dword [esp + 0x40]
cmp eax, 0x5a
mov byte [esi + 0x12c], 1
jne 0x426950
lea eax, [esp + 0x154]
add eax, 0xfffffffe
jmp 0x426910
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x426910
mov ecx, dword [str.Windows_Me]
mov edx, dword [0x4cfe54]
mov dword [eax], ecx
mov ecx, dword [0x4cfe58]
mov dword [eax + 4], edx
mov edx, dword [0x4cfe5c]
mov dword [eax + 8], ecx
mov ecx, dword [0x4cfe60]
mov dword [eax + 0xc], edx
mov edx, dword [0x4cfe64]
jmp 0x4269db
cmp eax, 0xa
lea eax, [esp + 0x154]
jne 0x42699d
add eax, 0xfffffffe
nop
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x426960
mov ecx, dword [str.Windows_98]
mov edx, dword [0x4cfe6c]
mov dword [eax], ecx
mov ecx, dword [0x4cfe70]
mov dword [eax + 4], edx
mov edx, dword [0x4cfe74]
mov dword [eax + 8], ecx
mov ecx, dword [0x4cfe78]
mov dword [eax + 0xc], edx
mov edx, dword [0x4cfe7c]
jmp 0x4269db
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4269a0
mov ecx, dword [str.Windows_95]
mov edx, dword [0x4cfe84]
mov dword [eax], ecx
mov ecx, dword [0x4cfe88]
mov dword [eax + 4], edx
mov edx, dword [0x4cfe8c]
mov dword [eax + 8], ecx
mov ecx, dword [0x4cfe90]
mov dword [eax + 0xc], edx
mov edx, dword [0x4cfe94]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
lea eax, [esp + 0x154]
lea edx, [eax + 2]
jmp 0x4269f0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4269f0
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x158]
push eax
jmp 0x4275a3
cmp dword [esp + 0x3c], 6
push edi
jne 0x426fca
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x426a7f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
cmp byte [esp + 0x156], 1
mov byte [esi + 0x12c], 0x10
jne 0x426a60
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426a40
mov ecx, 7
mov esi, str.Windows_Vista
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426b33
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426a60
mov ecx, 0xa
mov esi, str.Windows_Server_2008
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426b33
cmp eax, 1
jne 0x426ad3
lea eax, [esp + 0x158]
mov byte [esi + 0x12c], 0x20
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x426a95
mov ecx, dword [str.Windows_7]
mov edx, dword [0x4cfee8]
mov dword [eax], ecx
mov ecx, dword [0x4cfeec]
mov dword [eax + 4], edx
mov edx, dword [0x4cfef0]
mov dword [eax + 8], ecx
mov ecx, dword [0x4cfef4]
mov dword [eax + 0xc], edx
mov dx, word [0x4cfef8]
jmp 0x426b2c
cmp eax, 2
jne 0x426b33
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 0x426af0
mov ecx, dword [str.Windows_8]
mov edx, dword [0x4cff00]
mov dword [eax], ecx
mov ecx, dword [0x4cff04]
mov dword [eax + 4], edx
mov edx, dword [0x4cff08]
mov dword [eax + 8], ecx
mov ecx, dword [0x4cff0c]
mov dword [eax + 0xc], edx
mov dx, word [0x4cff10]
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 0x426b65
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.0x426b7c.4
movzx edx, byte [eax + 0x427614]
jmp dword [edx*4 + 0x4275c8]
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426b90
mov ecx, 8
mov esi, str.Ultimate_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426bc0
mov ecx, 0xa
mov esi, str.Home_Premium_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426bf0
mov ecx, 9
mov esi, str.Home_Basic_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426c20
mov ecx, 9
mov esi, str.Enterprise_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426c50
mov ecx, 8
mov esi, str.Business_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426c80
mov ecx, 8
mov esi, str.Starter_Edition
rep movsd dword es:[edi], dword [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x426cb0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426cb0
mov ecx, 0xb
mov esi, str.Cluster_Server_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426ce0
mov ecx, 9
mov esi, str.Datacenter_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426d10
mov ecx, 0x13
mov esi, str.Datacenter_Edition__core_installation_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426d40
mov ecx, 9
mov esi, str.Enterprise_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426d70
mov ecx, 0x13
mov esi, str.Enterprise_Edition__core_installation_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426da0
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 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426dd0
mov ecx, 0xb
mov esi, str.Small_Business_Server
rep movsd dword es:[edi], dword [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x426e00
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426e00
mov ecx, 0x13
mov esi, str.Small_Business_Server_Premium_Edition
rep movsd dword es:[edi], dword [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x426e30
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426e30
mov ecx, 8
mov esi, str.Standard_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426e60
mov ecx, 0x12
mov esi, str.Standard_Edition__core_installation_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426e90
mov ecx, 9
mov esi, str.Web_Server_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x426eb6
mov ecx, 0xa
mov esi, str.Professional_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x426f1f
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x12c], 0x40
je 0x426f1f
lea eax, [esp + 0x158]
add eax, 0xfffffffe
lea esp, [esp]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x426ef0
mov ecx, dword [str.Unknown]
mov edx, dword [0x4d029c]
mov dword [eax], ecx
mov ecx, dword [0x4d02a0]
mov dword [eax + 4], edx
mov edx, dword [0x4d02a4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x18]
cmp ax, 9
jne 0x426f7c
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 0x426f40
mov ecx, dword [str.__64_bit]
mov edx, dword [0x4d02ac]
mov dword [eax], ecx
mov ecx, dword [0x4d02b0]
mov dword [eax + 4], edx
mov edx, dword [0x4d02b4]
mov dword [eax + 8], ecx
mov cx, word [0x4d02b8]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
jmp 0x426fca
test ax, ax
jne 0x426fca
lea eax, [esp + 0x158]
add eax, 0xfffffffe
jmp 0x426f90
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x426f90
mov edx, dword [str.__32_bit]
mov ecx, dword [0x4d02c0]
mov dword [eax], edx
mov edx, dword [0x4d02c4]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d02c8]
mov dword [eax + 8], edx
mov dx, word [0x4d02cc]
mov dword [eax + 0xc], ecx
mov word [eax + 0x10], dx
mov ebp, 5
cmp dword [esp + 0x40], ebp
jne 0x427495
mov eax, dword [esp + 0x44]
cmp eax, 2
jne 0x42735f
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 0x427031
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427012
mov ecx, 0xc
mov esi, str.Windows_Server_2003_R2_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x4270b8
cmp bx, 0x2000
jne 0x42705a
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427042
mov ecx, 0xe
mov esi, str.Windows_Storage_Server_2003
jmp 0x4270b6
cmp byte [esp + 0x156], 1
jne 0x427091
cmp dx, 9
jne 0x427091
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427074
mov ecx, 0x12
mov esi, str.Windows_XP_Professional_x64_Edition
rep movsd dword es:[edi], dword [esi]
jmp 0x4272ba
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x4270a0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4270a0
mov ecx, 0xb
mov esi, str.Windows_Server_2003_
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0x156], 1
je 0x4272ba
cmp dx, 6
jne 0x42712e
test bl, bl
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x12d], 1
jns 0x427100
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4270e5
mov ecx, 0x16
mov esi, str.Datacenter_Edition_for_Itanium_based_Systems
jmp 0x4272b6
test bl, 2
je 0x4272ba
lea edi, [esp + 0x158]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427113
mov ecx, 0x16
mov esi, str.Enterprise_Edition_for_Itanium_based_Systems
jmp 0x4272b6
cmp dx, 9
jne 0x4271ab
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x158]
add edi, 0xfffffffe
test bl, bl
mov byte [edx + 0x12d], 1
jns 0x42716b
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427150
mov ecx, 0xb
mov esi, str.Datacenter_x64_Edition
jmp 0x4272b6
test bl, 2
je 0x427190
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427170
mov ecx, 0xb
mov esi, str.Enterprise_x64_Edition
jmp 0x4272b6
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427190
mov ecx, 0xa
mov esi, str.Standard_x64_Edition
jmp 0x4272b6
test ebx, 0x4000
je 0x4271dd
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4271c0
mov ecx, 0xc
mov esi, str.Compute_Cluster_Edition
rep movsd dword es:[edi], dword [esi]
jmp 0x4272ba
test bl, bl
jns 0x42720b
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x4271f0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4271f0
mov ecx, 9
mov esi, str.Datacenter_Edition
jmp 0x4272b6
test bl, 2
je 0x42723b
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ebx, [ebx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427220
mov ecx, 9
mov esi, str.Enterprise_Edition
jmp 0x4272b6
test ebx, 0x400
je 0x427293
lea eax, [esp + 0x158]
add eax, 0xfffffffe
lea ecx, [ecx]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x427250
mov ecx, dword [str.Web_Edition]
mov edx, dword [0x4d04d4]
mov dword [eax], ecx
mov ecx, dword [0x4d04d8]
mov dword [eax + 4], edx
mov edx, dword [0x4d04dc]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d04e0]
mov dword [eax + 0xc], edx
mov edx, dword [0x4d04e4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x4272ba
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4272a0
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 0x427495
mov eax, dword [esp + 0x44]
cmp eax, 1
jne 0x42738f
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 0x4272e6
mov ecx, dword [str.Windows_XP]
mov edx, dword [0x4d04ec]
mov dword [eax], ecx
mov ecx, dword [0x4d04f0]
mov dword [eax + 4], edx
mov edx, dword [0x4d04f4]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d04f8]
mov dword [eax + 0xc], edx
mov edx, dword [0x4d04fc]
lea edi, [esp + 0x158]
add edi, 0xfffffffe
test ebx, 0x200
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
je 0x427370
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427340
mov ecx, 6
mov esi, str.Home_Edition
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x427495
mov ebx, dword [esp + 0x154]
jmp 0x4272c8
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427370
mov ecx, 6
mov esi, str.Professional
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x427495
test eax, eax
jne 0x427495
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 0x4273b0
cmp byte [esp + 0x156], 1
mov ecx, 7
mov esi, str.Windows_2000
rep movsd dword es:[edi], dword [esi]
jne 0x4273ff
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4273e0
mov ecx, 6
mov esi, str.Professional
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x427495
test bl, bl
jns 0x42742a
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427410
mov ecx, 9
mov esi, str.Datacenter_Server
rep movsd dword es:[edi], dword [esi]
jmp 0x427495
test bl, 2
je 0x42745a
lea edi, [esp + 0x158]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x427440
mov ecx, 8
mov esi, str.Advanced_Server
rep movsd dword es:[edi], dword [esi]
jmp 0x427495
lea eax, [esp + 0x158]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x427464
mov ecx, dword [str.Server]
mov edx, dword [0x4d059c]
mov dword [eax], ecx
mov ecx, dword [0x4d05a0]
mov dword [eax + 4], edx
mov dx, word [0x4d05a4]
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 0x4274a0
sub eax, edx
sar eax, 1
je 0x42751c
lea edi, [esp + 0x158]
add edi, 0xfffffffe
jmp 0x4274c0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4274c0
mov eax, dword [0x4cb904]
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 0x4274e0
lea edi, [esp + 0x158]
sub eax, edx
add edi, 0xfffffffe
jmp 0x427500
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x427500
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.00427bc0
lea eax, [esp + 0x34c]
add esp, 8
mov edx, eax
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x427540
lea edi, [esp + 0x158]
sub eax, edx
add edi, 0xfffffffe
jmp 0x427560
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x427560
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 0x427587
mov esi, dword [esp + 0xc]
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x158]
push edx
add esi, 0x110
call fcn.00401700
mov ecx, dword [esp + 0x3e0]
pop esi
pop ebp
pop ebx
xor ecx, esp
mov al, 1
call fcn.004abc64
add esp, 0x3d8
ret