Function at 0x42d810
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b6d0e
mov eax, dword fs:[0]
push eax
mov eax, 0x1ad0
call fcn.004a53e0
mov eax, dword [0x4cc3b0]
xor eax, esp
mov dword [esp + 0x1acc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cc3b0]
xor eax, esp
push eax
lea eax, [esp + 0x1ae4]
mov dword fs:[0], eax
xor esi, esi
push 0xc00
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x20], esi
call fcn.004a4c8c
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, esi
jne 0x42c992
mov ecx, 0x4d76b4
call fcn.00429090
mov eax, 0x40
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x1aec], esi
lea ecx, [esp + 0x128]
call fcn.0046b190
mov byte [esp + 0x1aec], 1
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov byte [esp + 0x1aec], 2
lea ecx, [esp + 0x80]
call fcn.0046b190
mov byte [esp + 0x1aec], 3
mov dword [0x4d87e8], edi
mov dword [0x4d7ba8], 1
cmp byte [0x4eac4c], 0
jne 0x42d943
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
lea esp, [esp]
mov ebx, dword [esp + 0x28]
cmp ebx, 0x40
jl 0x42ca36
cmp byte [0x4e999c], 0
je 0x42ce54
cmp ebx, ebp
jl 0x42ca8f
mov eax, dword [esp + 0x24]
cmp eax, esi
jbe 0x42ca89
sub eax, ebp
add ebp, eax
mov dword [esp + 0x34], ebp
cmp ebp, esi
jbe 0x42ca8f
mov eax, esi
shr eax, 2
lea esi, [eax + esi + 0x20]
cmp ebp, esi
jbe 0x42ca5d
mov esi, ebp
mov edx, dword [esp + 0x30]
lea ecx, [esi + esi*2]
shl ecx, 4
push ecx
push edx
call fcn.004a4ddd
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x42ca83
mov ecx, 0x4d76b4
call fcn.00429090
mov dword [esp + 0x38], esi
jmp 0x42ca8f
mov ebp, eax
mov dword [esp + 0x34], ebp
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push 4
add eax, ecx
push 0x4d7bdc
mov dword [0x4d87e8], eax
call fcn.00433e10
test eax, eax
je 0x42cd8b
push 4
push 0x4e8845
push 0x4d7bdc
call fcn.004a7046
add esp, 0xc
test eax, eax
jne 0x42cd98
call fcn.004562d0
test eax, eax
jne 0x42ce23
movzx edx, word [0x4e887c]
movzx eax, word [0x4e8898]
push edx
push 2
push eax
call fcn.00434350
mov edi, dword [esp + 0x14]
test eax, eax
je 0x42cb0d
cmp eax, edi
jle 0x42cb04
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42ce29
movzx ecx, word [0x4e889a]
push 0
push 3
push ecx
call fcn.00434350
test eax, eax
je 0x42cb35
cmp eax, edi
jle 0x42cb2c
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42ce29
movzx edx, word [0x4e889a]
mov eax, dword [0x4e8838]
push 0x4e887e
push edx
push eax
call fcn.00472870
movzx ecx, word [0x4e889c]
push 0
push 0
push ecx
call fcn.00434350
test eax, eax
je 0x42cb73
cmp eax, edi
jle 0x42cb6a
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42ce29
test byte [0x4e88a4], 0x10
je 0x42cbb3
movzx eax, byte [0x4e8879]
test eax, eax
je 0x42cb8c
cmp eax, 0xb
jne 0x42cbb3
push 0x4e891c
call fcn.00451c30
cmp byte [eax], 0x5c
je 0x42cbb3
mov edi, 0x4e891c
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42cba1
mov dx, word [0x4bbf74]
mov word [edi], dx
lea ecx, [esp + 0x1d0]
call fcn.004021e0
mov byte [esp + 0x1aec], 4
push 0xce8
lea eax, [esp + 0x1d4]
push 0
push eax
call fcn.004a5410
add esp, 0xc
xor eax, eax
mov cl, byte [eax + 0x4e891c]
mov byte [esp + eax + 0x200], cl
inc eax
test cl, cl
jne 0x42cbe0
movzx eax, word [0x4e8882]
movzx ecx, word [0x4e8880]
shl eax, 0x10
or eax, ecx
push eax
lea ecx, [esp + 0xe18]
mov dword [esp + 0x1f0], eax
call fcn.0046da60
mov ecx, dword [0x4e887c]
mov edx, dword [0x4e8890]
mov eax, dword [0x4e8894]
shr ecx, 0xb
and cl, 1
mov dword [esp + 0xeb0], edx
mov dword [esp + 0xeb4], eax
je 0x42cc98
mov edx, dword [esp + 0x1d8]
push 0x400
lea eax, [esp + 0x604]
push eax
or edx, 0x200
push 0x4e891c
mov word [esp + 0x1e4], dx
call fcn.00473420
push 0x3ff
lea edx, [esp + 0x204]
push edx
lea eax, [esp + 0x608]
xor ecx, ecx
push eax
mov word [esp + 0xe0a], cx
call fcn.00473250
mov byte [esp + 0x5ff], 0
cmp dword [0x4ea3a4], 1
mov eax, 5
je 0x42ccbd
cmp dword [0x4f6640], 0
jne 0x42ccbd
cmp byte [0x4f802e], 0
jne 0x42ccbd
mov eax, CreateMappedBitmap
push eax
push 0
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, 0x4f2cd0
call fcn.0041c8f0
test eax, eax
setne bl
cmp byte [0x4e891c], 0
je 0x42cd27
cmp byte [0x4e891d], 0
je 0x42cd27
cmp byte [0x4e891e], 0
mov eax, 0x4e891e
je 0x42cd27
mov edi, 1
lea esp, [esp]
cmp byte [eax], 0x3a
jne 0x42cd08
mov byte [eax], 0x5f
cmp byte [0x50d640], 0
je 0x42cd1e
push eax
mov ecx, 0x50d540
call fcn.004739f0
jmp 0x42cd20
add eax, edi
cmp byte [eax], 0
jne 0x42cd00
jmp 0x42cd2c
mov edi, 1
test bl, bl
je 0x42cd5d
call fcn.0042bc50
test eax, eax
je 0x42cd59
push 0x4e891c
lea ecx, [esp + 0x12c]
call fcn.0046b230
add dword [esp + 0x28], edi
add dword [esp + 0x24], edi
add dword [esp + 0x20], 0x30
jmp 0x42cd5d
add dword [esp + 0x2c], edi
add dword [esp + 0x54], edi
adc dword [esp + 0x58], 0
mov byte [esp + 0x1aec], 3
mov eax, dword [esp + 0xe00]
test eax, eax
je 0x42ca20
push eax
call fcn.004a4d4f
add esp, 4
jmp 0x42ca20
mov dword [esp + 0x14], 0x33
jmp 0x42ce4c
mov edx, dword [0x4e88c0]
mov eax, edx
xor eax, dword [esp + 0x54]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x42cde1
cmp edx, 0xffff
jne 0x42cdbf
cmp dword [0x4e88c4], ecx
je 0x42cde1
push 0x2ad
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 8
mov dword [esp + 0x14], 3
jmp 0x42ce4c
push 4
push 0x4e884a
push 0x4d7bdc
call fcn.004a7046
add esp, 0xc
test eax, eax
je 0x42ce19
push 4
push 0x4bbf6c
push 0x4d7bdc
call fcn.004a7046
add esp, 0xc
mov dword [esp + 0x44], 1
test eax, eax
jne 0x42ce4c
mov dword [esp + 0x44], 0
jmp 0x42ce4c
mov dword [esp + 0x14], eax
jmp 0x42ce4c
push 0x4e891c
call fcn.0046ad80
push eax
push 0x2ab
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 0xc
mov dword [esp + 0x1c], 1
mov edx, dword [0x4e8828]
mov eax, dword [0x4e882c]
mov ecx, dword [0x4e87f8]
mov dword [esp + 0x78], edx
mov edx, dword [0x4e8800]
mov dword [esp + 0x7c], eax
mov eax, dword [0x4e8804]
xor esi, esi
cmp byte [0x4e999c], 0
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
je 0x42ced9
push 0x4bbf68
push 0x4f8c7c
mov dword [0x4e99a0], esi
call fcn.00453a30
cmp word [0x4f907c], si
je 0x42cebc
push 0x4bbf60
push 0x4f907c
call fcn.00453ad0
mov ecx, dword [0x4e8818]
cmp ecx, esi
je 0x42cece
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x4e8818], esi
call fcn.00433ae0
cmp ebx, esi
mov dword [esp + 0x20], esi
jle 0x42d8da
mov ecx, dword [esp + 0x3c]
shl ecx, 6
mov dword [esp + 0x24], ecx
jmp 0x42cef6
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea ebx, [ecx + eax]
lea ecx, [eax + eax*2]
shl ecx, 4
add ecx, dword [esp + 0x30]
mov dword [esp + 0x40], ebx
mov dword [0x4d87e8], ecx
lea ecx, [esp + 0x128]
call fcn.0046b440
cmp byte [0x4e999c], 0
mov dword [esp + 0x6c], eax
je 0x42d03a
mov edx, dword [0x4d87e8]
mov eax, dword [edx + 0x20]
cmp eax, dword [0x4e99a0]
je 0x42d03a
movzx ecx, word [0x4e88b0]
cmp eax, ecx
jne 0x42cf75
push 0x4bbf5c
push 0x4f8c7c
call fcn.00453a30
cmp word [0x4f907c], 0
je 0x42d00b
push 0x4baa98
jmp 0x42d001
cmp eax, 0x63
jl 0x42cf8b
inc eax
push eax
push 0x4bbf3c
lea edx, [esp + 0xec0]
push edx
jmp 0x42cf9a
inc eax
push eax
push 0x4bbf34
lea eax, [esp + 0xec0]
push eax
call fcn.004a4bc2
add esp, 0xc
lea ecx, [esp + 0xeb8]
push ecx
push 0x4f8c7c
call fcn.00453a30
cmp word [0x4f907c], 0
je 0x42d00b
mov edx, dword [0x4d87e8]
mov eax, dword [edx + 0x20]
cmp eax, 0x63
mov edx, 0x14
jl 0x42cfe2
inc eax
push eax
push str.z_03d
lea eax, [esp + 0xec0]
push eax
jmp 0x42cff1
inc eax
push eax
push str.z_02d
lea ecx, [esp + 0xec0]
push ecx
call fcn.0049c880
add esp, 0xc
lea edx, [esp + 0xeb8]
push edx
push 0x4f907c
call fcn.00453ad0
mov eax, dword [0x4d87e8]
mov ecx, dword [eax + 0x20]
mov dword [0x4e99a0], ecx
mov ecx, dword [0x4e8818]
test ecx, ecx
je 0x42d02b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x4e8818], 0
call fcn.00433ae0
mov eax, dword [0x4d87e8]
mov ebp, dword [eax]
add ebp, dword [0x4e8830]
mov esi, dword [eax + 4]
adc esi, dword [0x4e8834]
push 0
push 0x2000
push esi
push ebp
call fcn.004a76f0
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42d117
jl 0x42d07a
test ebp, ebp
jae 0x42d117
push 0x2ad
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 8
mov dword [esp + 0x14], 2
test ebx, ebx
jne 0x42d10a
mov eax, dword [0x4e8830]
mov ecx, dword [0x4e8834]
mov edx, eax
or edx, ecx
je 0x42d10a
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov ebx, eax
mov eax, dword [0x4d87e8]
push ecx
mov dword [0x4e8830], ecx
mov dword [0x4e8834], ecx
mov esi, dword [eax + 4]
mov ebp, dword [eax]
push 0x2000
push esi
push ebp
mov dword [esp + 0x58], ebx
call fcn.004a76f0
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42d11b
jl 0x42d0f2
test ebp, ebp
jae 0x42d11b
push 0x2ad
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 8
mov dword [esp + 0x14], 3
jmp case.0x42d5ee.78
mov ebx, dword [esp + 0x48]
cmp eax, dword [0x4e8828]
jne 0x42d15c
cmp ecx, dword [0x4e882c]
jne 0x42d15c
cmp byte [0x4e999c], 0
jne 0x42d15c
mov eax, dword [0x4e87f8]
mov ecx, dword [0x4e87f4]
sub eax, edi
sub eax, ecx
cdq
add dword [0x4e8800], eax
adc dword [0x4e8804], edx
add edi, ecx
mov dword [0x4e87f8], edi
xor ebp, ebp
jmp 0x42d1d6
xor ebp, ebp
push ebp
push ecx
mov ecx, dword [0x4e8818]
push eax
call fcn.00430ca0
mov ecx, dword [0x4e8818]
call fcn.00430500
mov dword [0x4e8828], eax
mov eax, dword [0x4e87f4]
push 0x2000
push eax
mov dword [0x4e882c], edx
call fcn.00433d10
cdq
mov ecx, edx
cmp ecx, ebp
mov esi, eax
mov dword [0x4e8800], esi
mov dword [0x4e8804], ecx
jg 0x42d1b5
jl 0x42d0f2
cmp esi, ebp
jbe 0x42d0f2
mov edx, dword [0x4e87f4]
lea eax, [edi + edx]
mov dword [0x4e87f8], eax
mov eax, edi
cdq
sub esi, eax
sbb ecx, edx
mov dword [0x4e8800], esi
mov dword [0x4e8804], ecx
push 4
push 0x4d7bdc
call fcn.00433e10
test eax, eax
je 0x42d0f2
push 4
push 0x4e8840
push 0x4d7bdc
call fcn.004a7046
add esp, 0xc
test eax, eax
je 0x42d2c6
push 0x2ad
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
mov eax, dword [0x4e8830]
mov ecx, dword [0x4e8834]
add esp, 8
mov dword [esp + 0x14], 2
mov edx, eax
cmp dword [esp + 0x40], ebp
jne 0x42d23f
or edx, ecx
jne 0x42d25b
jmp 0x42d247
or edx, ecx
jne case.0x42d5ee.78
mov edx, dword [esp + 0x4c]
mov esi, ebx
or esi, edx
je case.0x42d5ee.78
mov esi, eax
or esi, ecx
je 0x42d271
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [0x4e8830], ebp
mov dword [0x4e8834], ebp
jmp 0x42d27d
mov dword [0x4e8830], ebx
mov dword [0x4e8834], edx
mov eax, dword [0x4d87e8]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
call fcn.00434070
cmp eax, ebp
jne 0x42d0f2
push 4
push 0x4d7bdc
call fcn.00433e10
test eax, eax
je 0x42d0f2
push 4
push 0x4e8840
push 0x4d7bdc
call fcn.004a7046
add esp, 0xc
test eax, eax
jne 0x42d0f2
call fcn.00455c60
mov esi, eax
cmp esi, ebp
je 0x42d2f2
push 0x2ad
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 8
mov dword [esp + 0x14], esi
jmp case.0x42d5ee.78
movzx eax, word [0x4e8852]
movzx ecx, word [0x4e8870]
push eax
push 2
push ecx
call fcn.00434350
cmp eax, ebp
je 0x42d344
cmp eax, dword [esp + 0x14]
jle 0x42d317
mov dword [esp + 0x14], eax
cmp eax, 1
jle 0x42d344
push 0x4e891c
call fcn.0046ad80
push eax
push 0x2ab
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 0xc
jmp case.0x42d5ee.78
mov eax, dword [0x4e8838]
cmp eax, ebp
je 0x42d35c
push eax
call fcn.004a4d4f
add esp, 4
mov dword [0x4e8838], ebp
movzx edx, word [0x4e8872]
push ebp
push 3
push edx
call fcn.00434350
cmp eax, ebp
je 0x42d37f
cmp eax, dword [esp + 0x14]
jle 0x42d37a
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42d31c
movzx eax, word [0x4e8872]
mov ecx, dword [0x4e8838]
push 0x4e8854
push eax
push ecx
call fcn.00472870
mov eax, dword [esp + 0x6c]
cmp eax, ebp
je 0x42d3b1
mov edx, 0x4e891c
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42d3a7
push 0x4e891c
call fcn.00451c30
cmp byte [eax], 0x5c
sete bl
test bl, bl
je 0x42d3c8
mov byte [eax], 0
push 0x4e891c
push 0x4e891c
call fcn.00451c70
push 0x400
push 0
push 0x4e891c
call fcn.0040a210
mov eax, 0x4e891c
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + 0xc00], cl
inc eax
test cl, cl
jne 0x42d3f0
mov ax, word [0x4e8852]
xor edx, edx
shr ax, 0xb
and al, 1
mov word [0x4e8d1c], dx
mov byte [esp + 0x1b], al
je 0x42d44f
push 0x400
push 0x4e8d1c
push 0x4e891c
call fcn.00473420
push 0x400
push 0x4e951c
xor eax, eax
push 0x4e8d1c
mov word [0x4e951a], ax
call fcn.00473250
mov byte [0x4e991b], 0
mov eax, dword [0x4d87e8]
test byte [eax + 0x24], 0x10
je 0x42d468
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x42d466
cmp eax, 0xb
jne 0x42d468
mov bl, 1
cmp byte [0x4f804b], 0x49
movzx eax, byte [0x4f673a]
sete cl
push 0
movzx edx, cl
push edx
push eax
push 0
push 0x4e891c
call fcn.00409e30
test al, al
je 0x42d8da
movsx ecx, byte [0x4f804b]
push ecx
call fcn.004a6355
add esp, 4
cmp eax, 0x49
jne 0x42d4cb
push 0x4e8d1c
push 0x4e891c
push 0x4f907c
push 0x4f8c7c
push 0x4f804c
push 0
push 0
call fcn.00435990
cmp byte [0x4f673a], 0
jne case.0x42d5ee.89
xor esi, esi
test bl, bl
jne 0x42d6b5
jmp 0x42d4f0
push 0x4e8d1c
push 0x4e891c
call fcn.00434260
cmp eax, 0xffffffff
je 0x42d69b
test eax, eax
je 0x42d539
cmp eax, 1
jne case.0x42d5ee.89
mov eax, dword [0x4f65f4]
cmp eax, 2
je case.0x42d5ee.78
cmp byte [0x4f6615], 0
jne 0x42d535
cmp byte [0x4f6614], 0
je 0x42d547
test esi, esi
jmp 0x42d541
mov eax, dword [0x4f65f4]
cmp eax, 2
je case.0x42d5ee.78
test eax, eax
je case.0x42d5ee.66
cmp eax, 3
jne case.0x42d5ee.89
xor eax, eax
jmp 0x42d560
mov cl, byte [eax + 0x4e951c]
mov byte [esp + eax + 0xee0], cl
inc eax
test cl, cl
jne 0x42d560
xor eax, eax
jmp 0x42d580
movzx ecx, word [eax + 0x4e8d1c]
mov word [esp + eax + 0x12e0], cx
add eax, 2
test cx, cx
jne 0x42d580
movzx edx, word [0x4e8858]
movzx eax, word [0x4e8856]
mov ecx, dword [0x4d7bcc]
push 0
shl edx, 0x10
add edx, eax
push edx
mov edx, dword [0x4d7bc8]
push ecx
push edx
lea eax, [esp + 0x12f0]
push eax
lea ecx, [esp + 0xef4]
push ecx
call fcn.0040af50
cmp al, 0x43
je 0x42d8da
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x42d5ee.66
movzx edx, byte [eax + 0x42dbf8]
jmp dword [edx*4 + 0x42dbe4]
xor eax, eax
mov cl, byte [esp + eax + 0xee0]
mov byte [eax + 0x4e891c], cl
inc eax
test cl, cl
jne 0x42d602
xor eax, eax
jmp 0x42d620
movzx ecx, word [esp + eax + 0x12e0]
mov word [eax + 0x4e8d1c], cx
add eax, 2
test cx, cx
jne 0x42d620
cmp byte [esp + 0x1b], cl
je 0x42d661
cmp word [0x4e8d1c], cx
je 0x42d661
push 0x400
push 0x4e891c
push 0x4e8d1c
call fcn.00473360
mov byte [0x4e8d1b], 0
mov eax, 0x4e891c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42d670
sub eax, edx
cmp byte [eax + 0x4e891b], 0xa
jne 0x42d689
dec eax
mov byte [eax + 0x4e891c], cl
test eax, eax
je case.0x42d5ee.82
mov esi, 1
jmp 0x42d4f0
cmp byte [0x4f6614], 0
je case.0x42d5ee.89
test esi, esi
je case.0x42d5ee.78
jmp case.0x42d5ee.89
cmp byte [0x4f6614], 0
jne case.0x42d5ee.78
cmp byte [0x4e891c], 0
je case.0x42d5ee.78
cmp dword [0x4f6618], 1
je case.0x42d5ee.78
mov ecx, dword [0x4d87e8]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x42d6f0
cmp eax, 0xb
jne 0x42d6f3
mov esi, dword [ecx + 0x24]
push 0x4e8d1c
push 0x4e891c
call fcn.00431720
test al, al
jne 0x42d7a4
cmp byte [0x4f66db], al
push esi
sete al
movzx ecx, al
push ecx
push 0x4e8d1c
push 0x4e891c
call fcn.00432050
test eax, eax
je 0x42d7a4
push 1
push 0x4e8d1c
push 0x4e891c
call fcn.00432370
cmp byte [0x4f66db], 0
push esi
sete dl
movzx eax, dl
push eax
push 0x4e8d1c
push 0x4e891c
call fcn.00432050
test eax, eax
je 0x42d7a4
push 0x4e891c
call fcn.0046ad80
push eax
push 0x1f7
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 0xc
push 0x4e8d1c
push 0x4e891c
mov ecx, 0x4d76b4
call fcn.00428e10
mov ecx, 0x4d76b4
call fcn.00428fc0
jmp case.0x42d5ee.78
movzx esi, word [0x4e8858]
movzx ecx, word [0x4e8856]
shl esi, 0x10
or esi, ecx
lea ecx, [esp + 0xeb8]
call fcn.0046dbe0
push esi
lea ecx, [esp + 0xebc]
call fcn.0046da60
push 0
push 0
lea edx, [esp + 0xec0]
push edx
push 0x4e8d1c
push 0x4e891c
call fcn.004323b0
push 0x4e8d1c
push 0x4e891c
lea ecx, [esp + 0x88]
call fcn.0046aea0
push esi
lea ecx, [esp + 0x60]
call fcn.0046c800
jmp case.0x42d5ee.78
mov dword [0x4f65f4], 1
mov eax, dword [0x4d87e8]
test byte [eax + 0x28], 1
je 0x42d89d
call fcn.00473060
test eax, eax
je 0x42d89d
cmp eax, 1
jne 0x42d87e
cmp dword [0x4d7b88], 0
jne 0x42d878
cmp dword [0x4e991c], 0
je 0x42d855
push 0
call fcn.00493500
add esp, 4
inc dword [esp + 0x50]
jmp case.0x42d5ee.78
push 0x4e951c
call fcn.0046ad80
push eax
push 0x1fb
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 0xc
inc dword [esp + 0x50]
jmp case.0x42d5ee.78
cmp eax, dword [esp + 0x14]
jle 0x42d888
mov dword [esp + 0x14], eax
push 0x4e951c
call fcn.0046ad80
push eax
push 0x1fb
jmp 0x42d32c
mov dword [0x4e88ec], 0
call fcn.0042c230
test eax, eax
je case.0x42d5ee.78
cmp eax, dword [esp + 0x14]
jle 0x42d8ba
mov dword [esp + 0x14], eax
cmp dword [0x4e88ec], 1
jg 0x42da20
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
jl 0x42cef2
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push 0
push ecx
mov ecx, dword [0x4e8818]
push edx
call fcn.00430ca0
mov ecx, dword [0x4e8818]
call fcn.00430500
mov dword [0x4e8828], eax
mov eax, dword [0x4e87f4]
push 0x2000
push eax
mov dword [0x4e882c], edx
call fcn.00433d10
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
inc dword [esp + 0x3c]
cmp dword [esp + 0x1c], 0
mov dword [0x4e87f8], ecx
mov dword [0x4e8800], edx
mov dword [0x4e8804], eax
je 0x42c9f2
push 0x400
lea ecx, [esp + 0x12e4]
push ecx
lea edx, [esp + 0xee8]
push edx
lea ecx, [esp + 0x8c]
call fcn.0046b310
test al, al
je 0x42d9d4
mov esi, dword [esp + 0x5c]
lea esp, [esp]
mov edi, dword [esi]
lea ecx, [esp + 0xeb8]
call fcn.0046dbe0
push edi
lea ecx, [esp + 0xebc]
call fcn.0046da60
push 0
push 0
lea eax, [esp + 0xec0]
push eax
lea ecx, [esp + 0x12ec]
push ecx
lea edx, [esp + 0xef0]
push edx
call fcn.004323b0
push 0x400
lea eax, [esp + 0x12e4]
push eax
lea ecx, [esp + 0xee8]
push ecx
lea ecx, [esp + 0x8c]
add esi, 4
call fcn.0046b310
test al, al
jne 0x42d970
cmp byte [0x4eac4c], 0
jne 0x42da86
cmp dword [esp + 0x44], 0
je 0x42da86
cmp byte [0x4e999c], 0
jne 0x42da86
push 0x2ad
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
mov ebx, dword [esp + 0x1c]
add esp, 8
test ebx, ebx
jne 0x42da8a
mov ebx, 1
jmp 0x42da8a
mov byte [esp + 0x1aec], 2
lea ecx, [esp + 0x80]
call fcn.00401af0
mov byte [esp + 0x1aec], 1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42da4d
push eax
call fcn.004a4d4f
add esp, 4
mov byte [esp + 0x1aec], 0
lea ecx, [esp + 0x128]
call fcn.00401af0
mov dword [esp + 0x1aec], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42da7d
push eax
call fcn.004a4d4f
add esp, 4
mov eax, dword [esp + 0x14]
jmp 0x42dbbb
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
movzx esi, bp
inc edi
cmp edi, esi
jne 0x42dac4
cmp byte [0x4f804b], 0x49
je 0x42dac4
cmp dword [0x4e991c], 0
jne 0x42dac4
push 0x344
call fcn.004612e0
push eax
push 0x4f907c
call fcn.00493af0
add esp, 8
test edi, edi
jne 0x42dadf
cmp ebx, 1
jg 0x42dadf
xor dx, dx
cmp dx, word [esp + 0x2c]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x42db11
cmp edi, esi
jne 0x42daef
cmp ebx, 1
jg 0x42daef
mov ebx, 0x52
jmp 0x42db11
cmp word [esp + 0x2c], 0
jbe 0x42db03
cmp ebx, 1
jg 0x42db03
mov ebx, 0x51
jmp 0x42db11
test bp, bp
jbe 0x42db11
test ebx, ebx
jne 0x42db11
mov ebx, 1
mov byte [esp + 0x1aec], 6
mov eax, dword [esp + 0x90]
test eax, eax
je 0x42db2d
push eax
call fcn.004a4d4f
add esp, 4
mov byte [esp + 0x1aec], 2
mov eax, dword [esp + 0x80]
test eax, eax
je 0x42db49
push eax
call fcn.004a4d4f
add esp, 4
mov byte [esp + 0x1aec], 1
cmp dword [esp + 0x5c], 0
je 0x42db65
mov eax, dword [esp + 0x5c]
push eax
call fcn.004a4d4f
add esp, 4
mov byte [esp + 0x1aec], 8
mov eax, dword [esp + 0x138]
test eax, eax
je 0x42db81
push eax
call fcn.004a4d4f
add esp, 4
mov byte [esp + 0x1aec], 0
mov eax, dword [esp + 0x128]
test eax, eax
je 0x42db9d
push eax
call fcn.004a4d4f
add esp, 4
mov dword [esp + 0x1aec], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42dbb9
push eax
call fcn.004a4d4f
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x1ae4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1acc]
xor ecx, esp
call fcn.004a4bb3
add esp, 0x1adc
ret