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

Disassembly:
push 0xffffffffffffffff
push 0x4ae182
mov eax, dword fs:[0]
push eax
mov eax, 0x1378
call fcn.0049e650
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.0049e19f
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, esi
jne 0x42b282
mov ecx, 0x4c9364
call fcn.004281d0
mov eax, 0x40
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x1394], esi
lea ecx, [esp + 0x19c]
call fcn.004653d0
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.004653d0
mov byte [esp + 0x1394], 3
mov dword [0x4ca4a0], edi
mov dword [0x4c9858], 1
xor ebx, ebx
cmp dword [0x4dc178], ebx
jne 0x42c147
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 0x42b310
mov ebx, dword [esp + 0x28]
cmp ebx, 0x40
jl 0x42b326
cmp byte [0x4db654], 0
je 0x42b701
cmp ebx, ebp
jl 0x42b37f
mov eax, dword [esp + 0x24]
cmp eax, esi
jbe 0x42b379
sub eax, ebp
add ebp, eax
mov dword [esp + 0x34], ebp
cmp ebp, esi
jbe 0x42b37f
mov eax, esi
shr eax, 2
lea esi, [eax + esi + 0x20]
cmp ebp, esi
jbe 0x42b34d
mov esi, ebp
mov edx, dword [esp + 0x30]
lea ecx, [esi + esi*2]
shl ecx, 4
push ecx
push edx
call fcn.0049deab
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x42b373
mov ecx, 0x4c9364
call fcn.004281d0
mov dword [esp + 0x38], esi
jmp 0x42b37f
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.00431c60
test eax, eax
je 0x42b660
push 4
push 0x4da4fd
push 0x4c988c
call fcn.0049f25f
add esp, 0xc
test eax, eax
jne 0x42b66d
call fcn.00451250
test eax, eax
jne 0x42b6d6
movzx edx, word [0x4da534]
movzx eax, word [0x4da550]
push edx
push 2
push eax
call fcn.00432120
mov edi, dword [esp + 0x14]
test eax, eax
je 0x42b3fd
cmp eax, edi
jle 0x42b3f4
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42b6dc
movzx ecx, word [0x4da552]
push 0
push 3
push ecx
call fcn.00432120
test eax, eax
je 0x42b425
cmp eax, edi
jle 0x42b41c
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42b6dc
movzx edx, word [0x4da552]
mov eax, dword [0x4da4f0]
push 0x4da536
push edx
push eax
call fcn.0046c900
movzx ecx, word [0x4da554]
push 0
push 0
push ecx
call fcn.00432120
test eax, eax
je 0x42b463
cmp eax, edi
jle 0x42b45a
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42b6dc
test byte [0x4da55c], 0x10
je 0x42b4a3
movzx eax, byte [0x4da531]
test eax, eax
je 0x42b47c
cmp eax, 0xb
jne 0x42b4a3
push 0x4da5d4
call fcn.0044d600
cmp byte [eax], 0x5c
je 0x42b4a3
mov edi, 0x4da5d4
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42b491
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.0049e680
add esp, 0xc
xor eax, eax
mov cl, byte [eax + 0x4da5d4]
mov byte [esp + eax + 0x2c4], cl
inc eax
test cl, cl
jne 0x42b4d0
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 0x42b57a
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.0046d4b0
push 0x3ff
lea eax, [esp + 0x2c8]
push eax
lea ecx, [esp + 0x6cc]
xor edx, edx
push ecx
mov word [esp + 0xece], dx
call fcn.0046d2f0
mov byte [esp + 0x6c3], 0
cmp dword [0x4dbc60], 1
mov eax, 4
je 0x42b596
cmp dword [0x4e57a0], 0
jne 0x42b596
mov eax, CreateMappedBitmap
push eax
push 0
lea edx, [esp + 0x29c]
push edx
mov ecx, 0x4e2eb0
call fcn.0041bcf0
test eax, eax
setne bl
cmp byte [0x4da5d4], 0
je 0x42b5fc
cmp byte [0x4da5d5], 0
je 0x42b5fc
cmp byte [0x4da5d6], 0
mov eax, 0x4da5d6
je 0x42b5fc
mov edi, 1
cmp byte [eax], 0x3a
jne 0x42b5dd
mov byte [eax], 0x5f
cmp byte [0x4f61c0], 0
je 0x42b5f3
push eax
mov ecx, 0x4f60c0
call fcn.0046dda0
jmp 0x42b5f5
add eax, edi
cmp byte [eax], 0
jne 0x42b5d5
jmp 0x42b601
mov edi, 1
test bl, bl
je 0x42b632
call fcn.0042a670
test eax, eax
je 0x42b62e
push 0x4da5d4
lea ecx, [esp + 0x1a0]
call fcn.00465450
add dword [esp + 0x28], edi
add dword [esp + 0x24], edi
add dword [esp + 0x1c], 0x30
jmp 0x42b632
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 0x42b310
push eax
call fcn.0049de1d
add esp, 4
jmp 0x42b310
mov dword [esp + 0x14], 0x33
jmp 0x42b6f9
mov edx, dword [0x4da578]
mov eax, edx
xor eax, dword [esp + 0x50]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x42b6b6
cmp edx, 0xffff
jne 0x42b694
cmp dword [0x4da57c], ecx
je 0x42b6b6
push 0x2ad
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 8
mov dword [esp + 0x14], 3
jmp 0x42b6f9
push 4
push 0x4da502
push 0x4c988c
call fcn.0049f25f
add esp, 0xc
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x58], eax
jmp 0x42b6f9
mov dword [esp + 0x14], eax
jmp 0x42b6f9
push 0x4da5d4
push 0x2ab
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
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 0x42b777
push 0x4b27a4
push 0x4e75ac
mov dword [0x4db658], esi
call fcn.0044ef30
mov ecx, dword [0x4da4d0]
xor edx, edx
mov word [0x4e79ac], dx
cmp ecx, esi
je 0x42b76c
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [0x4da4d0], esi
call fcn.00431970
cmp ebx, esi
mov dword [esp + 0x1c], esi
jle 0x42c0db
mov ecx, dword [esp + 0x3c]
shl ecx, 6
mov dword [esp + 0x24], ecx
jmp 0x42b794
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.004655b0
cmp byte [0x4db654], 0
mov dword [esp + 0x6c], eax
je 0x42b860
mov ecx, dword [0x4ca4a0]
mov eax, dword [ecx + 0x20]
cmp eax, dword [0x4db658]
je 0x42b860
movzx edx, word [0x4da568]
cmp eax, edx
jne 0x42b7f2
push 0x4b19b8
jmp 0x42b827
cmp eax, 0x63
jl 0x42b808
inc eax
push eax
push str.z_03d
lea eax, [esp + 0xf84]
push eax
jmp 0x42b817
inc eax
push eax
push str.z_02d
lea ecx, [esp + 0xf84]
push ecx
call fcn.0049e0d5
add esp, 0xc
lea edx, [esp + 0xf7c]
push edx
push 0x4e75ac
call fcn.0044ef30
mov eax, dword [0x4ca4a0]
mov ecx, dword [eax + 0x20]
mov dword [0x4db658], ecx
mov ecx, dword [0x4da4d0]
test ecx, ecx
je 0x42b851
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x4da4d0], 0
call fcn.00431970
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.004a0870
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42b93d
jl 0x42b8a0
test ebp, ebp
jae 0x42b93d
push 0x2ad
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 8
mov dword [esp + 0x14], 2
test ebx, ebx
jne 0x42b930
mov eax, dword [0x4da4e8]
mov ecx, dword [0x4da4ec]
mov edx, eax
or edx, ecx
je 0x42b930
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.004a0870
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42b941
jl 0x42b918
test ebp, ebp
jae 0x42b941
push 0x2ad
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 8
mov dword [esp + 0x14], 3
jmp case.0x42be96.78
mov ebx, dword [esp + 0x48]
cmp eax, dword [0x4da4e0]
jne 0x42b982
cmp ecx, dword [0x4da4e4]
jne 0x42b982
cmp byte [0x4db654], 0
jne 0x42b982
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 0x42b9fc
xor ebp, ebp
push ebp
push ecx
mov ecx, dword [0x4da4d0]
push eax
call fcn.0042efe0
mov ecx, dword [0x4da4d0]
call fcn.0042e8d0
mov dword [0x4da4e0], eax
mov eax, dword [0x4da4ac]
push 0x2000
push eax
mov dword [0x4da4e4], edx
call fcn.00431b90
cdq
mov ecx, edx
cmp ecx, ebp
mov esi, eax
mov dword [0x4da4b8], esi
mov dword [0x4da4bc], ecx
jg 0x42b9db
jl 0x42b918
cmp esi, ebp
jbe 0x42b918
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.00431c60
test eax, eax
je 0x42b918
push 4
push 0x4da4f8
push 0x4c988c
call fcn.0049f25f
add esp, 0xc
test eax, eax
je 0x42baec
push 0x2ad
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
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 0x42ba65
or edx, ecx
jne 0x42ba81
jmp 0x42ba6d
or edx, ecx
jne case.0x42be96.78
mov edx, dword [esp + 0x4c]
mov esi, ebx
or esi, edx
je case.0x42be96.78
mov esi, eax
or esi, ecx
je 0x42ba97
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [0x4da4e8], ebp
mov dword [0x4da4ec], ebp
jmp 0x42baa3
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.00431eb0
cmp eax, ebp
jne 0x42b918
push 4
push 0x4c988c
call fcn.00431c60
test eax, eax
je 0x42b918
push 4
push 0x4da4f8
push 0x4c988c
call fcn.0049f25f
add esp, 0xc
test eax, eax
jne 0x42b918
call fcn.00450be0
mov esi, eax
cmp esi, ebp
je 0x42bb18
push 0x2ad
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 8
mov dword [esp + 0x14], esi
jmp case.0x42be96.78
movzx eax, word [0x4da50a]
movzx ecx, word [0x4da528]
push eax
push 2
push ecx
call fcn.00432120
cmp eax, ebp
je 0x42bb64
cmp eax, dword [esp + 0x14]
jle 0x42bb3d
mov dword [esp + 0x14], eax
cmp eax, 1
jle 0x42bb64
push 0x4da5d4
push 0x2ab
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 0xc
jmp case.0x42be96.78
mov eax, dword [0x4da4f0]
cmp eax, ebp
je 0x42bb7c
push eax
call fcn.0049de1d
add esp, 4
mov dword [0x4da4f0], ebp
movzx edx, word [0x4da52a]
push ebp
push 3
push edx
call fcn.00432120
cmp eax, ebp
je 0x42bb9f
cmp eax, dword [esp + 0x14]
jle 0x42bb9a
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42bb42
movzx eax, word [0x4da52a]
mov ecx, dword [0x4da4f0]
push 0x4da50c
push eax
push ecx
call fcn.0046c900
mov eax, dword [esp + 0x6c]
cmp eax, ebp
je 0x42bbd1
mov edx, 0x4da5d4
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42bbc7
cmp byte [0x4e46c8], 0
je 0x42bc49
cmp dword [0x4e5778], 5
je 0x42bc49
mov eax, 0x4e46c8
lea edx, [eax + 1]
jmp 0x42bbf0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42bbf0
sub eax, edx
mov esi, eax
je 0x42bc49
push esi
push 0x4da5d4
push 0x4e46c8
call fcn.00464b90
test eax, eax
jne 0x42bc49
lea ecx, [esi + 0x4da5d4]
mov al, byte [ecx]
cmp al, 0x5c
je 0x42bc21
cmp al, 0x2f
jne 0x42bc24
inc ecx
jmp 0x42bc17
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42bc30
sub eax, esi
inc eax
push eax
push ecx
push 0x4da5d4
call fcn.0049ffb0
add esp, 0xc
cmp dword [0x4e5778], 2
jne 0x42bc7a
push 0x4da5d4
call fcn.0044d530
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42bc61
sub ecx, esi
inc ecx
push ecx
push eax
push 0x4da5d4
call fcn.0049ffb0
add esp, 0xc
push 0x4da5d4
call fcn.0044d600
cmp byte [eax], 0x5c
sete bl
test bl, bl
je 0x42bc91
mov byte [eax], 0
push 0x4da5d4
push 0x4da5d4
call fcn.0044d640
cmp dword [0x4e5778], 5
jne 0x42bcca
cmp byte [0x4da5d5], 0x5f
jne 0x42bcca
movsx edx, byte [0x4da5d6]
push edx
call fcn.0044d340
test al, al
je 0x42bcca
mov byte [0x4da5d5], 0x3a
mov eax, 0x4da5d4
nop
mov cl, byte [eax]
mov byte [eax + 0xc00], cl
inc eax
test cl, cl
jne 0x42bcd0
mov cx, word [0x4da50a]
xor eax, eax
shr cx, 0xb
and cl, 1
mov word [0x4da9d4], ax
je 0x42bd2d
push 0x400
push 0x4da9d4
push 0x4da5d4
call fcn.0046d4b0
push 0x400
push 0x4db1d4
xor edx, edx
push 0x4da9d4
mov word [0x4db1d2], dx
call fcn.0046d2f0
mov byte [0x4db5d3], 0
mov eax, dword [0x4ca4a0]
test byte [eax + 0x24], 0x10
je 0x42bd46
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x42bd44
cmp eax, 0xb
jne 0x42bd46
mov bl, 1
cmp byte [0x4e697b], 0x49
movzx edx, byte [0x4e586a]
sete al
push 0
movzx ecx, al
push ecx
push edx
push 0
push 0x4da5d4
call fcn.00409a30
test al, al
je 0x42c0db
movsx eax, byte [0x4e697b]
push eax
call fcn.0049ef56
add esp, 4
cmp eax, 0x49
jne 0x42bd9f
push 0x4da5d4
push 0x4e75ac
push 0x4e697c
push 0
push 0
call fcn.00433720
cmp byte [0x4e586a], 0
jne case.0x42be96.89
xor esi, esi
test bl, bl
jne 0x42bf01
jmp 0x42bdc0
push 0x4da9d4
push 0x4da5d4
call fcn.00432030
cmp eax, 0xffffffff
je 0x42bee7
test eax, eax
je 0x42be09
cmp eax, 1
jne case.0x42be96.89
mov eax, dword [0x4e5754]
cmp eax, 2
je case.0x42be96.78
cmp byte [0x4e5775], 0
jne 0x42be05
cmp byte [0x4e5774], 0
je 0x42be17
test esi, esi
jmp 0x42be11
mov eax, dword [0x4e5754]
cmp eax, 2
je case.0x42be96.78
test eax, eax
je case.0x42be96.66
cmp eax, 3
jne case.0x42be96.89
xor eax, eax
jmp 0x42be30
mov cl, byte [eax + 0x4db1d4]
mov byte [esp + eax + 0xf88], cl
inc eax
test cl, cl
jne 0x42be30
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.0040a6a0
mov al, byte [0x4c9891]
cmp al, 0x43
je 0x42c0db
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x42be96.66
movzx eax, byte [eax + 0x42c3a0]
jmp dword [eax*4 + 0x42c38c]
xor eax, eax
mov cl, byte [esp + eax + 0xf88]
mov byte [eax + 0x4da5d4], cl
inc eax
test cl, cl
jne 0x42bea2
mov eax, 0x4da5d4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42bec0
sub eax, edx
cmp byte [eax + 0x4da5d3], 0xa
jne 0x42bed9
dec eax
mov byte [eax + 0x4da5d4], cl
test eax, eax
je case.0x42be96.82
mov esi, 1
jmp 0x42bdc0
cmp byte [0x4e5774], 0
je case.0x42be96.89
test esi, esi
je case.0x42be96.78
jmp case.0x42be96.89
cmp byte [0x4e5774], 0
jne case.0x42be96.78
cmp byte [0x4da5d4], 0
je case.0x42be96.78
mov ecx, dword [0x4ca4a0]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x42bf2f
cmp eax, 0xb
jne 0x42bf32
mov esi, dword [ecx + 0x24]
push 0x4da9d4
push 0x4da5d4
call fcn.0042f890
test al, al
jne 0x42bfc9
cmp byte [0x4e580b], al
push esi
sete cl
movzx edx, cl
push edx
push 0x4da9d4
push 0x4da5d4
call fcn.00430130
test eax, eax
je 0x42bfc9
push 1
push 0x4da9d4
push 0x4da5d4
call fcn.004301a0
cmp byte [0x4e580b], 0
push esi
sete al
movzx ecx, al
push ecx
push 0x4da9d4
push 0x4da5d4
call fcn.00430130
test eax, eax
je 0x42bfc9
push 0x4db1d4
push 0x1f7
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 0xc
mov ecx, 0x4c9364
call fcn.00427c70
jmp case.0x42be96.78
movzx esi, word [0x4da510]
movzx edx, word [0x4da50e]
shl esi, 0x10
lea ecx, [esp + 0x80]
or esi, edx
call fcn.00467be0
push esi
lea ecx, [esp + 0x84]
call fcn.00467a60
push 0
push 0
lea eax, [esp + 0x88]
push eax
push 0x4da9d4
push 0x4da5d4
call fcn.004303f0
push 0x4da9d4
push 0x4da5d4
lea ecx, [esp + 0xac]
call fcn.00465140
push esi
lea ecx, [esp + 0x60]
call fcn.00466890
jmp case.0x42be96.78
mov dword [0x4e5754], 1
mov ecx, dword [0x4ca4a0]
test byte [ecx + 0x28], 1
je 0x42c09e
call fcn.0046d100
test eax, eax
je 0x42c09e
cmp eax, 1
jne 0x42c085
cmp dword [0x4c9838], 0
jne 0x42c07f
push 0x4db1d4
push 0x1fb
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 0xc
inc dword [esp + 0x40]
jmp case.0x42be96.78
cmp eax, dword [esp + 0x14]
jle 0x42c08f
mov dword [esp + 0x14], eax
push 0x4db1d4
push 0x1fb
jmp 0x42bb4c
mov dword [0x4da5a4], 0
call fcn.0042abe0
test eax, eax
je case.0x42be96.78
cmp eax, dword [esp + 0x14]
jle 0x42c0bb
mov dword [esp + 0x14], eax
cmp dword [0x4da5a4], 1
jg 0x42c21c
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
jl 0x42b790
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov ecx, dword [0x4da4d0]
push 0
push edx
push eax
call fcn.0042efe0
mov ecx, dword [0x4da4d0]
call fcn.0042e8d0
mov ecx, dword [0x4da4ac]
push 0x2000
push ecx
mov dword [0x4da4e0], eax
mov dword [0x4da4e4], edx
call fcn.00431b90
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 0x42b2e2
xor ebx, ebx
push 0x400
lea edx, [esp + 0x298]
push edx
lea eax, [esp + 0xf90]
push eax
lea ecx, [esp + 0xb0]
call fcn.00465460
test al, al
je 0x42c1d2
mov esi, dword [esp + 0x5c]
mov edi, dword [esi]
lea ecx, [esp + 0x80]
call fcn.00467be0
push edi
lea ecx, [esp + 0x84]
call fcn.00467a60
push ebx
push ebx
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x2a0]
push edx
lea eax, [esp + 0xf98]
push eax
call fcn.004303f0
push 0x400
lea ecx, [esp + 0x298]
push ecx
lea edx, [esp + 0xf90]
push edx
lea ecx, [esp + 0xb0]
add esi, 4
call fcn.00465460
test al, al
jne 0x42c170
cmp dword [0x4dc178], ebx
jne 0x42c282
cmp dword [esp + 0x58], ebx
je 0x42c282
cmp byte [0x4db654], 0
jne 0x42c282
push 0x2ad
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
mov edi, dword [esp + 0x1c]
add esp, 8
cmp edi, ebx
jne 0x42c286
mov edi, 1
jmp 0x42c286
mov byte [esp + 0x1394], 2
lea ecx, [esp + 0xa4]
call fcn.00465050
mov byte [esp + 0x1394], 1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42c249
push eax
call fcn.0049de1d
add esp, 4
mov byte [esp + 0x1394], 0
lea ecx, [esp + 0x19c]
call fcn.00465050
mov dword [esp + 0x1394], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42c279
push eax
call fcn.0049de1d
add esp, 4
mov eax, dword [esp + 0x14]
jmp 0x42c363
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
movzx esi, bp
inc ebx
cmp ebx, esi
jne 0x42c2b7
cmp byte [0x4e697b], 0x49
je 0x42c2b7
push 0x344
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 8
test ebx, ebx
jne 0x42c2d2
cmp edi, 1
jg 0x42c2d2
xor ax, ax
cmp ax, word [esp + 0x2c]
sbb edi, edi
and edi, 0x46
add edi, 0xb
jmp 0x42c304
cmp ebx, esi
jne 0x42c2e2
cmp edi, 1
jg 0x42c2e2
mov edi, 0x52
jmp 0x42c304
cmp word [esp + 0x2c], 0
jbe 0x42c2f6
cmp edi, 1
jg 0x42c2f6
mov edi, 0x51
jmp 0x42c304
test bp, bp
jbe 0x42c304
test edi, edi
jne 0x42c304
mov edi, 1
mov byte [esp + 0x1394], 2
lea ecx, [esp + 0xa4]
call fcn.00465050
mov byte [esp + 0x1394], 1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42c331
push eax
call fcn.0049de1d
add esp, 4
mov byte [esp + 0x1394], 0
lea ecx, [esp + 0x19c]
call fcn.00465050
mov dword [esp + 0x1394], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42c361
push eax
call fcn.0049de1d
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.0049e0c6
add esp, 0x1384
ret