Function at 0x42b2b0
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4adec2
mov eax, dword fs:[0]
push eax
mov eax, 0x1378
call fcn.0049e430
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0x1374], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c0390]
xor eax, esp
push eax
lea eax, [esp + 0x138c]
mov dword fs:[0], eax
xor esi, esi
push 0xc00
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x40], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x1c], esi
call fcn.0049df7f
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, esi
jne 0x42b342
mov ecx, 0x4c9364
call fcn.004282a0
mov eax, 0x40
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x1394], esi
lea ecx, [esp + 0x19c]
call fcn.00465890
mov byte [esp + 0x1394], 1
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov byte [esp + 0x1394], 2
lea ecx, [esp + 0xa4]
call fcn.00465890
mov byte [esp + 0x1394], 3
mov dword [0x4ca4a0], edi
mov dword [0x4c9858], 1
xor ebx, ebx
cmp dword [0x4dc178], ebx
jne 0x42c207
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], 1
jmp 0x42b3d0
mov ebx, dword [esp + 0x28]
cmp ebx, 0x40
jl 0x42b3e6
cmp byte [0x4db654], 0
je 0x42b7c1
cmp ebx, ebp
jl 0x42b43f
mov eax, dword [esp + 0x24]
cmp eax, esi
jbe 0x42b439
sub eax, ebp
add ebp, eax
mov dword [esp + 0x34], ebp
cmp ebp, esi
jbe 0x42b43f
mov eax, esi
shr eax, 2
lea esi, [eax + esi + 0x20]
cmp ebp, esi
jbe 0x42b40d
mov esi, ebp
mov edx, dword [esp + 0x30]
lea ecx, [esi + esi*2]
shl ecx, 4
push ecx
push edx
call fcn.0049dc8b
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x42b433
mov ecx, 0x4c9364
call fcn.004282a0
mov dword [esp + 0x38], esi
jmp 0x42b43f
mov ebp, eax
mov dword [esp + 0x34], ebp
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
push 4
add eax, ecx
push 0x4c988c
mov dword [0x4ca4a0], eax
call fcn.00431d10
test eax, eax
je 0x42b720
push 4
push 0x4da4fd
push 0x4c988c
call fcn.0049f03f
add esp, 0xc
test eax, eax
jne 0x42b72d
call fcn.00451820
test eax, eax
jne 0x42b796
movzx edx, word [0x4da534]
movzx eax, word [0x4da550]
push edx
push 2
push eax
call fcn.004321d0
mov edi, dword [esp + 0x14]
test eax, eax
je 0x42b4bd
cmp eax, edi
jle 0x42b4b4
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42b79c
movzx ecx, word [0x4da552]
push 0
push 3
push ecx
call fcn.004321d0
test eax, eax
je 0x42b4e5
cmp eax, edi
jle 0x42b4dc
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42b79c
movzx edx, word [0x4da552]
mov eax, dword [0x4da4f0]
push 0x4da536
push edx
push eax
call fcn.0046cdc0
movzx ecx, word [0x4da554]
push 0
push 0
push ecx
call fcn.004321d0
test eax, eax
je 0x42b523
cmp eax, edi
jle 0x42b51a
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42b79c
test byte [0x4da55c], 0x10
je 0x42b563
movzx eax, byte [0x4da531]
test eax, eax
je 0x42b53c
cmp eax, 0xb
jne 0x42b563
push 0x4da5d4
call fcn.0044dc00
cmp byte [eax], 0x5c
je 0x42b563
mov edi, 0x4da5d4
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42b551
mov dx, word [0x4b17bc]
mov word [edi], dx
lea ecx, [esp + 0x294]
call fcn.00401f60
mov byte [esp + 0x1394], 4
push 0xce8
lea eax, [esp + 0x298]
push 0
push eax
call fcn.0049e460
add esp, 0xc
xor eax, eax
mov cl, byte [eax + 0x4da5d4]
mov byte [esp + eax + 0x2c4], cl
inc eax
test cl, cl
jne 0x42b590
movzx ecx, word [0x4da53a]
movzx edx, word [0x4da538]
mov eax, dword [0x4da548]
shl ecx, 0x10
or ecx, edx
mov edx, dword [0x4da534]
mov dword [esp + 0x2b0], ecx
mov ecx, dword [0x4da54c]
shr edx, 0xb
and dl, 1
mov dword [esp + 0xf74], eax
mov dword [esp + 0xf78], ecx
je 0x42b63a
mov eax, dword [esp + 0x29c]
push 0x400
lea ecx, [esp + 0x6c8]
push ecx
or eax, 0x200
push 0x4da5d4
mov word [esp + 0x2a8], ax
call fcn.0046d960
push 0x3ff
lea eax, [esp + 0x2c8]
push eax
lea ecx, [esp + 0x6cc]
xor edx, edx
push ecx
mov word [esp + 0xece], dx
call fcn.0046d7a0
mov byte [esp + 0x6c3], 0
cmp dword [0x4dbc60], 1
mov eax, 4
je 0x42b656
cmp dword [0x4e5790], 0
jne 0x42b656
mov eax, CreateMappedBitmap
push eax
push 0
lea edx, [esp + 0x29c]
push edx
mov ecx, 0x4e2ea0
call fcn.0041be20
test eax, eax
setne bl
cmp byte [0x4da5d4], 0
je 0x42b6bc
cmp byte [0x4da5d5], 0
je 0x42b6bc
cmp byte [0x4da5d6], 0
mov eax, 0x4da5d6
je 0x42b6bc
mov edi, 1
cmp byte [eax], 0x3a
jne 0x42b69d
mov byte [eax], 0x5f
cmp byte [0x4f6590], 0
je 0x42b6b3
push eax
mov ecx, 0x4f6490
call fcn.0046e250
jmp 0x42b6b5
add eax, edi
cmp byte [eax], 0
jne 0x42b695
jmp 0x42b6c1
mov edi, 1
test bl, bl
je 0x42b6f2
call fcn.0042a730
test eax, eax
je 0x42b6ee
push 0x4da5d4
lea ecx, [esp + 0x1a0]
call fcn.00465910
add dword [esp + 0x28], edi
add dword [esp + 0x24], edi
add dword [esp + 0x1c], 0x30
jmp 0x42b6f2
add dword [esp + 0x2c], edi
add dword [esp + 0x50], edi
adc dword [esp + 0x54], 0
mov byte [esp + 0x1394], 3
mov eax, dword [esp + 0xec4]
test eax, eax
je 0x42b3d0
push eax
call fcn.0049dbfd
add esp, 4
jmp 0x42b3d0
mov dword [esp + 0x14], 0x33
jmp 0x42b7b9
mov edx, dword [0x4da578]
mov eax, edx
xor eax, dword [esp + 0x50]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x42b776
cmp edx, 0xffff
jne 0x42b754
cmp dword [0x4da57c], ecx
je 0x42b776
push 0x2ad
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 8
mov dword [esp + 0x14], 3
jmp 0x42b7b9
push 4
push 0x4da502
push 0x4c988c
call fcn.0049f03f
add esp, 0xc
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x58], eax
jmp 0x42b7b9
mov dword [esp + 0x14], eax
jmp 0x42b7b9
push 0x4da5d4
push 0x2ab
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 0xc
mov dword [esp + 0x18], 1
mov eax, dword [0x4da4e0]
mov ecx, dword [0x4da4e4]
mov edx, dword [0x4da4b0]
mov dword [esp + 0x78], eax
mov eax, dword [0x4da4b8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x4da4bc]
xor esi, esi
cmp byte [0x4db654], 0
mov dword [esp + 0x68], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
je 0x42b837
push 0x4b27a4
push 0x4e758c
mov dword [0x4db658], esi
call fcn.0044f530
mov ecx, dword [0x4da4d0]
xor edx, edx
mov word [0x4e798c], dx
cmp ecx, esi
je 0x42b82c
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [0x4da4d0], esi
call fcn.00431a20
cmp ebx, esi
mov dword [esp + 0x1c], esi
jle 0x42c19b
mov ecx, dword [esp + 0x3c]
shl ecx, 6
mov dword [esp + 0x24], ecx
jmp 0x42b854
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
lea ebx, [ecx + eax]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [esp + 0x30]
lea ecx, [esp + 0x19c]
mov dword [esp + 0x44], ebx
mov dword [0x4ca4a0], eax
call fcn.00465a70
cmp byte [0x4db654], 0
mov dword [esp + 0x6c], eax
je 0x42b920
mov ecx, dword [0x4ca4a0]
mov eax, dword [ecx + 0x20]
cmp eax, dword [0x4db658]
je 0x42b920
movzx edx, word [0x4da568]
cmp eax, edx
jne 0x42b8b2
push 0x4b19b8
jmp 0x42b8e7
cmp eax, 0x63
jl 0x42b8c8
inc eax
push eax
push str.z_03d
lea eax, [esp + 0xf84]
push eax
jmp 0x42b8d7
inc eax
push eax
push str.z_02d
lea ecx, [esp + 0xf84]
push ecx
call fcn.0049deb5
add esp, 0xc
lea edx, [esp + 0xf7c]
push edx
push 0x4e758c
call fcn.0044f530
mov eax, dword [0x4ca4a0]
mov ecx, dword [eax + 0x20]
mov dword [0x4db658], ecx
mov ecx, dword [0x4da4d0]
test ecx, ecx
je 0x42b911
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x4da4d0], 0
call fcn.00431a20
mov eax, dword [0x4ca4a0]
mov ebp, dword [eax]
add ebp, dword [0x4da4e8]
mov esi, dword [eax + 4]
adc esi, dword [0x4da4ec]
push 0
push 0x2000
push esi
push ebp
call fcn.004a0640
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42b9fd
jl 0x42b960
test ebp, ebp
jae 0x42b9fd
push 0x2ad
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 8
mov dword [esp + 0x14], 2
test ebx, ebx
jne 0x42b9f0
mov eax, dword [0x4da4e8]
mov ecx, dword [0x4da4ec]
mov edx, eax
or edx, ecx
je 0x42b9f0
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov ebx, eax
mov eax, dword [0x4ca4a0]
push ecx
mov dword [0x4da4e8], ecx
mov dword [0x4da4ec], ecx
mov esi, dword [eax + 4]
mov ebp, dword [eax]
push 0x2000
push esi
push ebp
mov dword [esp + 0x58], ebx
call fcn.004a0640
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42ba01
jl 0x42b9d8
test ebp, ebp
jae 0x42ba01
push 0x2ad
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 8
mov dword [esp + 0x14], 3
jmp case.0x42bf56.78
mov ebx, dword [esp + 0x48]
cmp eax, dword [0x4da4e0]
jne 0x42ba42
cmp ecx, dword [0x4da4e4]
jne 0x42ba42
cmp byte [0x4db654], 0
jne 0x42ba42
mov eax, dword [0x4da4b0]
mov ecx, dword [0x4da4ac]
sub eax, edi
sub eax, ecx
cdq
add dword [0x4da4b8], eax
adc dword [0x4da4bc], edx
add edi, ecx
mov dword [0x4da4b0], edi
xor ebp, ebp
jmp 0x42babc
xor ebp, ebp
push ebp
push ecx
mov ecx, dword [0x4da4d0]
push eax
call fcn.0042f0a0
mov ecx, dword [0x4da4d0]
call fcn.0042e990
mov dword [0x4da4e0], eax
mov eax, dword [0x4da4ac]
push 0x2000
push eax
mov dword [0x4da4e4], edx
call fcn.00431c40
cdq
mov ecx, edx
cmp ecx, ebp
mov esi, eax
mov dword [0x4da4b8], esi
mov dword [0x4da4bc], ecx
jg 0x42ba9b
jl 0x42b9d8
cmp esi, ebp
jbe 0x42b9d8
mov edx, dword [0x4da4ac]
lea eax, [edi + edx]
mov dword [0x4da4b0], eax
mov eax, edi
cdq
sub esi, eax
sbb ecx, edx
mov dword [0x4da4b8], esi
mov dword [0x4da4bc], ecx
push 4
push 0x4c988c
call fcn.00431d10
test eax, eax
je 0x42b9d8
push 4
push 0x4da4f8
push 0x4c988c
call fcn.0049f03f
add esp, 0xc
test eax, eax
je 0x42bbac
push 0x2ad
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
mov eax, dword [0x4da4e8]
mov ecx, dword [0x4da4ec]
add esp, 8
mov dword [esp + 0x14], 2
mov edx, eax
cmp dword [esp + 0x44], ebp
jne 0x42bb25
or edx, ecx
jne 0x42bb41
jmp 0x42bb2d
or edx, ecx
jne case.0x42bf56.78
mov edx, dword [esp + 0x4c]
mov esi, ebx
or esi, edx
je case.0x42bf56.78
mov esi, eax
or esi, ecx
je 0x42bb57
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [0x4da4e8], ebp
mov dword [0x4da4ec], ebp
jmp 0x42bb63
mov dword [0x4da4e8], ebx
mov dword [0x4da4ec], edx
mov eax, dword [0x4ca4a0]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
call fcn.00431f60
cmp eax, ebp
jne 0x42b9d8
push 4
push 0x4c988c
call fcn.00431d10
test eax, eax
je 0x42b9d8
push 4
push 0x4da4f8
push 0x4c988c
call fcn.0049f03f
add esp, 0xc
test eax, eax
jne 0x42b9d8
call fcn.004511e0
mov esi, eax
cmp esi, ebp
je 0x42bbd8
push 0x2ad
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 8
mov dword [esp + 0x14], esi
jmp case.0x42bf56.78
movzx eax, word [0x4da50a]
movzx ecx, word [0x4da528]
push eax
push 2
push ecx
call fcn.004321d0
cmp eax, ebp
je 0x42bc24
cmp eax, dword [esp + 0x14]
jle 0x42bbfd
mov dword [esp + 0x14], eax
cmp eax, 1
jle 0x42bc24
push 0x4da5d4
push 0x2ab
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 0xc
jmp case.0x42bf56.78
mov eax, dword [0x4da4f0]
cmp eax, ebp
je 0x42bc3c
push eax
call fcn.0049dbfd
add esp, 4
mov dword [0x4da4f0], ebp
movzx edx, word [0x4da52a]
push ebp
push 3
push edx
call fcn.004321d0
cmp eax, ebp
je 0x42bc5f
cmp eax, dword [esp + 0x14]
jle 0x42bc5a
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42bc02
movzx eax, word [0x4da52a]
mov ecx, dword [0x4da4f0]
push 0x4da50c
push eax
push ecx
call fcn.0046cdc0
mov eax, dword [esp + 0x6c]
cmp eax, ebp
je 0x42bc91
mov edx, 0x4da5d4
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42bc87
cmp byte [0x4e46b8], 0
je 0x42bd09
cmp dword [0x4e5768], 5
je 0x42bd09
mov eax, 0x4e46b8
lea edx, [eax + 1]
jmp 0x42bcb0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42bcb0
sub eax, edx
mov esi, eax
je 0x42bd09
push esi
push 0x4da5d4
push 0x4e46b8
call fcn.00465050
test eax, eax
jne 0x42bd09
lea ecx, [esi + 0x4da5d4]
mov al, byte [ecx]
cmp al, 0x5c
je 0x42bce1
cmp al, 0x2f
jne 0x42bce4
inc ecx
jmp 0x42bcd7
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42bcf0
sub eax, esi
inc eax
push eax
push ecx
push 0x4da5d4
call fcn.0049fd80
add esp, 0xc
cmp dword [0x4e5768], 2
jne 0x42bd3a
push 0x4da5d4
call fcn.0044db30
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42bd21
sub ecx, esi
inc ecx
push ecx
push eax
push 0x4da5d4
call fcn.0049fd80
add esp, 0xc
push 0x4da5d4
call fcn.0044dc00
cmp byte [eax], 0x5c
sete bl
test bl, bl
je 0x42bd51
mov byte [eax], 0
push 0x4da5d4
push 0x4da5d4
call fcn.0044dc40
cmp dword [0x4e5768], 5
jne 0x42bd8a
cmp byte [0x4da5d5], 0x5f
jne 0x42bd8a
movsx edx, byte [0x4da5d6]
push edx
call fcn.0044d940
test al, al
je 0x42bd8a
mov byte [0x4da5d5], 0x3a
mov eax, 0x4da5d4
nop
mov cl, byte [eax]
mov byte [eax + 0xc00], cl
inc eax
test cl, cl
jne 0x42bd90
mov cx, word [0x4da50a]
xor eax, eax
shr cx, 0xb
and cl, 1
mov word [0x4da9d4], ax
je 0x42bded
push 0x400
push 0x4da9d4
push 0x4da5d4
call fcn.0046d960
push 0x400
push 0x4db1d4
xor edx, edx
push 0x4da9d4
mov word [0x4db1d2], dx
call fcn.0046d7a0
mov byte [0x4db5d3], 0
mov eax, dword [0x4ca4a0]
test byte [eax + 0x24], 0x10
je 0x42be06
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x42be04
cmp eax, 0xb
jne 0x42be06
mov bl, 1
cmp byte [0x4e695b], 0x49
movzx edx, byte [0x4e585a]
sete al
push 0
movzx ecx, al
push ecx
push edx
push 0
push 0x4da5d4
call fcn.004099c0
test al, al
je 0x42c19b
movsx eax, byte [0x4e695b]
push eax
call fcn.0049ed36
add esp, 4
cmp eax, 0x49
jne 0x42be5f
push 0x4da5d4
push 0x4e758c
push 0x4e695c
push 0
push 0
call fcn.004337d0
cmp byte [0x4e585a], 0
jne case.0x42bf56.89
xor esi, esi
test bl, bl
jne 0x42bfc1
jmp 0x42be80
push 0x4da9d4
push 0x4da5d4
call fcn.004320e0
cmp eax, 0xffffffff
je 0x42bfa7
test eax, eax
je 0x42bec9
cmp eax, 1
jne case.0x42bf56.89
mov eax, dword [0x4e5744]
cmp eax, 2
je case.0x42bf56.78
cmp byte [0x4e5765], 0
jne 0x42bec5
cmp byte [0x4e5764], 0
je 0x42bed7
test esi, esi
jmp 0x42bed1
mov eax, dword [0x4e5744]
cmp eax, 2
je case.0x42bf56.78
test eax, eax
je case.0x42bf56.66
cmp eax, 3
jne case.0x42bf56.89
xor eax, eax
jmp 0x42bef0
mov cl, byte [eax + 0x4db1d4]
mov byte [esp + eax + 0xf88], cl
inc eax
test cl, cl
jne 0x42bef0
movzx ecx, word [0x4da510]
movzx edx, word [0x4da50e]
mov eax, dword [0x4c987c]
push 0
shl ecx, 0x10
add ecx, edx
push ecx
mov ecx, dword [0x4c9878]
push eax
push ecx
lea edx, [esp + 0xf98]
push edx
push 0x4c9891
call fcn.0040a630
mov al, byte [0x4c9891]
cmp al, 0x43
je 0x42c19b
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x42bf56.66
movzx eax, byte [eax + 0x42c460]
jmp dword [eax*4 + 0x42c44c]
xor eax, eax
mov cl, byte [esp + eax + 0xf88]
mov byte [eax + 0x4da5d4], cl
inc eax
test cl, cl
jne 0x42bf62
mov eax, 0x4da5d4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42bf80
sub eax, edx
cmp byte [eax + 0x4da5d3], 0xa
jne 0x42bf99
dec eax
mov byte [eax + 0x4da5d4], cl
test eax, eax
je case.0x42bf56.82
mov esi, 1
jmp 0x42be80
cmp byte [0x4e5764], 0
je case.0x42bf56.89
test esi, esi
je case.0x42bf56.78
jmp case.0x42bf56.89
cmp byte [0x4e5764], 0
jne case.0x42bf56.78
cmp byte [0x4da5d4], 0
je case.0x42bf56.78
mov ecx, dword [0x4ca4a0]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x42bfef
cmp eax, 0xb
jne 0x42bff2
mov esi, dword [ecx + 0x24]
push 0x4da9d4
push 0x4da5d4
call fcn.0042f950
test al, al
jne 0x42c089
cmp byte [0x4e57fb], al
push esi
sete cl
movzx edx, cl
push edx
push 0x4da9d4
push 0x4da5d4
call fcn.004301e0
test eax, eax
je 0x42c089
push 1
push 0x4da9d4
push 0x4da5d4
call fcn.00430250
cmp byte [0x4e57fb], 0
push esi
sete al
movzx ecx, al
push ecx
push 0x4da9d4
push 0x4da5d4
call fcn.004301e0
test eax, eax
je 0x42c089
push 0x4db1d4
push 0x1f7
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 0xc
mov ecx, 0x4c9364
call fcn.00427d40
jmp case.0x42bf56.78
movzx esi, word [0x4da510]
movzx edx, word [0x4da50e]
shl esi, 0x10
lea ecx, [esp + 0x80]
or esi, edx
call fcn.004680a0
push esi
lea ecx, [esp + 0x84]
call fcn.00467f20
push 0
push 0
lea eax, [esp + 0x88]
push eax
push 0x4da9d4
push 0x4da5d4
call fcn.004304a0
push 0x4da9d4
push 0x4da5d4
lea ecx, [esp + 0xac]
call fcn.00465600
push esi
lea ecx, [esp + 0x60]
call fcn.00466d50
jmp case.0x42bf56.78
mov dword [0x4e5744], 1
mov ecx, dword [0x4ca4a0]
test byte [ecx + 0x28], 1
je 0x42c15e
call fcn.0046d5c0
test eax, eax
je 0x42c15e
cmp eax, 1
jne 0x42c145
cmp dword [0x4c9838], 0
jne 0x42c13f
push 0x4db1d4
push 0x1fb
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 0xc
inc dword [esp + 0x40]
jmp case.0x42bf56.78
cmp eax, dword [esp + 0x14]
jle 0x42c14f
mov dword [esp + 0x14], eax
push 0x4db1d4
push 0x1fb
jmp 0x42bc0c
mov dword [0x4da5a4], 0
call fcn.0042aca0
test eax, eax
je case.0x42bf56.78
cmp eax, dword [esp + 0x14]
jle 0x42c17b
mov dword [esp + 0x14], eax
cmp dword [0x4da5a4], 1
jg 0x42c2dc
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
jl 0x42b850
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov ecx, dword [0x4da4d0]
push 0
push edx
push eax
call fcn.0042f0a0
mov ecx, dword [0x4da4d0]
call fcn.0042e990
mov ecx, dword [0x4da4ac]
push 0x2000
push ecx
mov dword [0x4da4e0], eax
mov dword [0x4da4e4], edx
call fcn.00431c40
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
inc dword [esp + 0x3c]
cmp dword [esp + 0x18], 0
mov dword [0x4da4b0], edx
mov dword [0x4da4b8], eax
mov dword [0x4da4bc], ecx
je 0x42b3a2
xor ebx, ebx
push 0x400
lea edx, [esp + 0x298]
push edx
lea eax, [esp + 0xf90]
push eax
lea ecx, [esp + 0xb0]
call fcn.00465920
test al, al
je 0x42c292
mov esi, dword [esp + 0x5c]
mov edi, dword [esi]
lea ecx, [esp + 0x80]
call fcn.004680a0
push edi
lea ecx, [esp + 0x84]
call fcn.00467f20
push ebx
push ebx
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x2a0]
push edx
lea eax, [esp + 0xf98]
push eax
call fcn.004304a0
push 0x400
lea ecx, [esp + 0x298]
push ecx
lea edx, [esp + 0xf90]
push edx
lea ecx, [esp + 0xb0]
add esi, 4
call fcn.00465920
test al, al
jne 0x42c230
cmp dword [0x4dc178], ebx
jne 0x42c342
cmp dword [esp + 0x58], ebx
je 0x42c342
cmp byte [0x4db654], 0
jne 0x42c342
push 0x2ad
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
mov edi, dword [esp + 0x1c]
add esp, 8
cmp edi, ebx
jne 0x42c346
mov edi, 1
jmp 0x42c346
mov byte [esp + 0x1394], 2
lea ecx, [esp + 0xa4]
call fcn.00465510
mov byte [esp + 0x1394], 1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42c309
push eax
call fcn.0049dbfd
add esp, 4
mov byte [esp + 0x1394], 0
lea ecx, [esp + 0x19c]
call fcn.00465510
mov dword [esp + 0x1394], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42c339
push eax
call fcn.0049dbfd
add esp, 4
mov eax, dword [esp + 0x14]
jmp 0x42c423
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
movzx esi, bp
inc ebx
cmp ebx, esi
jne 0x42c377
cmp byte [0x4e695b], 0x49
je 0x42c377
push 0x344
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 8
test ebx, ebx
jne 0x42c392
cmp edi, 1
jg 0x42c392
xor ax, ax
cmp ax, word [esp + 0x2c]
sbb edi, edi
and edi, 0x46
add edi, 0xb
jmp 0x42c3c4
cmp ebx, esi
jne 0x42c3a2
cmp edi, 1
jg 0x42c3a2
mov edi, 0x52
jmp 0x42c3c4
cmp word [esp + 0x2c], 0
jbe 0x42c3b6
cmp edi, 1
jg 0x42c3b6
mov edi, 0x51
jmp 0x42c3c4
test bp, bp
jbe 0x42c3c4
test edi, edi
jne 0x42c3c4
mov edi, 1
mov byte [esp + 0x1394], 2
lea ecx, [esp + 0xa4]
call fcn.00465510
mov byte [esp + 0x1394], 1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42c3f1
push eax
call fcn.0049dbfd
add esp, 4
mov byte [esp + 0x1394], 0
lea ecx, [esp + 0x19c]
call fcn.00465510
mov dword [esp + 0x1394], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42c421
push eax
call fcn.0049dbfd
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x138c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1374]
xor ecx, esp
call fcn.0049dea6
add esp, 0x1384
ret