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

Disassembly:
push 0xffffffffffffffff
push 0x4b6cae
mov eax, dword fs:[0]
push eax
mov eax, 0x1ad0
call fcn.004a5370
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.004a4c1c
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, esi
jne 0x42c9f2
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.0046b1a0
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.0046b1a0
mov byte [esp + 0x1aec], 3
mov dword [0x4d87e8], edi
mov dword [0x4d7ba8], 1
cmp byte [0x4eac4c], 0
jne 0x42d9a3
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 0x42ca96
cmp byte [0x4e999c], 0
je 0x42ceb4
cmp ebx, ebp
jl 0x42caef
mov eax, dword [esp + 0x24]
cmp eax, esi
jbe 0x42cae9
sub eax, ebp
add ebp, eax
mov dword [esp + 0x34], ebp
cmp ebp, esi
jbe 0x42caef
mov eax, esi
shr eax, 2
lea esi, [eax + esi + 0x20]
cmp ebp, esi
jbe 0x42cabd
mov esi, ebp
mov edx, dword [esp + 0x30]
lea ecx, [esi + esi*2]
shl ecx, 4
push ecx
push edx
call fcn.004a4d6d
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x42cae3
mov ecx, 0x4d76b4
call fcn.00429090
mov dword [esp + 0x38], esi
jmp 0x42caef
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.00433e70
test eax, eax
je 0x42cdeb
push 4
push 0x4e8845
push 0x4d7bdc
call fcn.004a6fd6
add esp, 0xc
test eax, eax
jne 0x42cdf8
call fcn.00456320
test eax, eax
jne 0x42ce83
movzx edx, word [0x4e887c]
movzx eax, word [0x4e8898]
push edx
push 2
push eax
call fcn.004343b0
mov edi, dword [esp + 0x14]
test eax, eax
je 0x42cb6d
cmp eax, edi
jle 0x42cb64
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42ce89
movzx ecx, word [0x4e889a]
push 0
push 3
push ecx
call fcn.004343b0
test eax, eax
je 0x42cb95
cmp eax, edi
jle 0x42cb8c
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42ce89
movzx edx, word [0x4e889a]
mov eax, dword [0x4e8838]
push 0x4e887e
push edx
push eax
call fcn.00472810
movzx ecx, word [0x4e889c]
push 0
push 0
push ecx
call fcn.004343b0
test eax, eax
je 0x42cbd3
cmp eax, edi
jle 0x42cbca
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42ce89
test byte [0x4e88a4], 0x10
je 0x42cc13
movzx eax, byte [0x4e8879]
test eax, eax
je 0x42cbec
cmp eax, 0xb
jne 0x42cc13
push 0x4e891c
call fcn.00451c80
cmp byte [eax], 0x5c
je 0x42cc13
mov edi, 0x4e891c
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42cc01
mov dx, word [0x4bbf74]
mov word [edi], dx
lea ecx, [esp + 0x1d0]
call fcn.004021a0
mov byte [esp + 0x1aec], 4
push 0xce8
lea eax, [esp + 0x1d4]
push 0
push eax
call fcn.004a53a0
add esp, 0xc
xor eax, eax
mov cl, byte [eax + 0x4e891c]
mov byte [esp + eax + 0x200], cl
inc eax
test cl, cl
jne 0x42cc40
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.0046da10
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 0x42ccf8
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.004733c0
push 0x3ff
lea edx, [esp + 0x204]
push edx
lea eax, [esp + 0x608]
xor ecx, ecx
push eax
mov word [esp + 0xe0a], cx
call fcn.004731f0
mov byte [esp + 0x5ff], 0
cmp dword [0x4ea3a4], 1
mov eax, 5
je 0x42cd1d
cmp dword [0x4f6640], 0
jne 0x42cd1d
cmp byte [0x4f802e], 0
jne 0x42cd1d
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 0x42cd87
cmp byte [0x4e891d], 0
je 0x42cd87
cmp byte [0x4e891e], 0
mov eax, 0x4e891e
je 0x42cd87
mov edi, 1
lea esp, [esp]
cmp byte [eax], 0x3a
jne 0x42cd68
mov byte [eax], 0x5f
cmp byte [0x50d640], 0
je 0x42cd7e
push eax
mov ecx, 0x50d540
call fcn.00473990
jmp 0x42cd80
add eax, edi
cmp byte [eax], 0
jne 0x42cd60
jmp 0x42cd8c
mov edi, 1
test bl, bl
je 0x42cdbd
call fcn.0042bc50
test eax, eax
je 0x42cdb9
push 0x4e891c
lea ecx, [esp + 0x12c]
call fcn.0046b240
add dword [esp + 0x28], edi
add dword [esp + 0x24], edi
add dword [esp + 0x20], 0x30
jmp 0x42cdbd
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 0x42ca80
push eax
call fcn.004a4cdf
add esp, 4
jmp 0x42ca80
mov dword [esp + 0x14], 0x33
jmp 0x42ceac
mov edx, dword [0x4e88c0]
mov eax, edx
xor eax, dword [esp + 0x54]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x42ce41
cmp edx, 0xffff
jne 0x42ce1f
cmp dword [0x4e88c4], ecx
je 0x42ce41
push 0x2ad
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 8
mov dword [esp + 0x14], 3
jmp 0x42ceac
push 4
push 0x4e884a
push 0x4d7bdc
call fcn.004a6fd6
add esp, 0xc
test eax, eax
je 0x42ce79
push 4
push 0x4bbf6c
push 0x4d7bdc
call fcn.004a6fd6
add esp, 0xc
mov dword [esp + 0x44], 1
test eax, eax
jne 0x42ceac
mov dword [esp + 0x44], 0
jmp 0x42ceac
mov dword [esp + 0x14], eax
jmp 0x42ceac
push 0x4e891c
call fcn.0046ad90
push eax
push 0x2ab
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
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 0x42cf39
push 0x4bbf68
push 0x4f8c7c
mov dword [0x4e99a0], esi
call fcn.00453a80
cmp word [0x4f907c], si
je 0x42cf1c
push 0x4bbf60
push 0x4f907c
call fcn.00453b20
mov ecx, dword [0x4e8818]
cmp ecx, esi
je 0x42cf2e
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x4e8818], esi
call fcn.00433b40
cmp ebx, esi
mov dword [esp + 0x20], esi
jle 0x42d93a
mov ecx, dword [esp + 0x3c]
shl ecx, 6
mov dword [esp + 0x24], ecx
jmp 0x42cf56
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.0046b450
cmp byte [0x4e999c], 0
mov dword [esp + 0x6c], eax
je 0x42d09a
mov edx, dword [0x4d87e8]
mov eax, dword [edx + 0x20]
cmp eax, dword [0x4e99a0]
je 0x42d09a
movzx ecx, word [0x4e88b0]
cmp eax, ecx
jne 0x42cfd5
push 0x4bbf5c
push 0x4f8c7c
call fcn.00453a80
cmp word [0x4f907c], 0
je 0x42d06b
push 0x4baa98
jmp 0x42d061
cmp eax, 0x63
jl 0x42cfeb
inc eax
push eax
push 0x4bbf3c
lea edx, [esp + 0xec0]
push edx
jmp 0x42cffa
inc eax
push eax
push 0x4bbf34
lea eax, [esp + 0xec0]
push eax
call fcn.004a4b52
add esp, 0xc
lea ecx, [esp + 0xeb8]
push ecx
push 0x4f8c7c
call fcn.00453a80
cmp word [0x4f907c], 0
je 0x42d06b
mov edx, dword [0x4d87e8]
mov eax, dword [edx + 0x20]
cmp eax, 0x63
mov edx, 0x14
jl 0x42d042
inc eax
push eax
push str.z_03d
lea eax, [esp + 0xec0]
push eax
jmp 0x42d051
inc eax
push eax
push str.z_02d
lea ecx, [esp + 0xec0]
push ecx
call fcn.0049c820
add esp, 0xc
lea edx, [esp + 0xeb8]
push edx
push 0x4f907c
call fcn.00453b20
mov eax, dword [0x4d87e8]
mov ecx, dword [eax + 0x20]
mov dword [0x4e99a0], ecx
mov ecx, dword [0x4e8818]
test ecx, ecx
je 0x42d08b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x4e8818], 0
call fcn.00433b40
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.004a7680
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42d177
jl 0x42d0da
test ebp, ebp
jae 0x42d177
push 0x2ad
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 8
mov dword [esp + 0x14], 2
test ebx, ebx
jne 0x42d16a
mov eax, dword [0x4e8830]
mov ecx, dword [0x4e8834]
mov edx, eax
or edx, ecx
je 0x42d16a
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.004a7680
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42d17b
jl 0x42d152
test ebp, ebp
jae 0x42d17b
push 0x2ad
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 8
mov dword [esp + 0x14], 3
jmp case.0x42d64e.78
mov ebx, dword [esp + 0x48]
cmp eax, dword [0x4e8828]
jne 0x42d1bc
cmp ecx, dword [0x4e882c]
jne 0x42d1bc
cmp byte [0x4e999c], 0
jne 0x42d1bc
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 0x42d236
xor ebp, ebp
push ebp
push ecx
mov ecx, dword [0x4e8818]
push eax
call fcn.00430d00
mov ecx, dword [0x4e8818]
call fcn.00430560
mov dword [0x4e8828], eax
mov eax, dword [0x4e87f4]
push 0x2000
push eax
mov dword [0x4e882c], edx
call fcn.00433d70
cdq
mov ecx, edx
cmp ecx, ebp
mov esi, eax
mov dword [0x4e8800], esi
mov dword [0x4e8804], ecx
jg 0x42d215
jl 0x42d152
cmp esi, ebp
jbe 0x42d152
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.00433e70
test eax, eax
je 0x42d152
push 4
push 0x4e8840
push 0x4d7bdc
call fcn.004a6fd6
add esp, 0xc
test eax, eax
je 0x42d326
push 0x2ad
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
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 0x42d29f
or edx, ecx
jne 0x42d2bb
jmp 0x42d2a7
or edx, ecx
jne case.0x42d64e.78
mov edx, dword [esp + 0x4c]
mov esi, ebx
or esi, edx
je case.0x42d64e.78
mov esi, eax
or esi, ecx
je 0x42d2d1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [0x4e8830], ebp
mov dword [0x4e8834], ebp
jmp 0x42d2dd
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.004340d0
cmp eax, ebp
jne 0x42d152
push 4
push 0x4d7bdc
call fcn.00433e70
test eax, eax
je 0x42d152
push 4
push 0x4e8840
push 0x4d7bdc
call fcn.004a6fd6
add esp, 0xc
test eax, eax
jne 0x42d152
call fcn.00455cb0
mov esi, eax
cmp esi, ebp
je 0x42d352
push 0x2ad
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 8
mov dword [esp + 0x14], esi
jmp case.0x42d64e.78
movzx eax, word [0x4e8852]
movzx ecx, word [0x4e8870]
push eax
push 2
push ecx
call fcn.004343b0
cmp eax, ebp
je 0x42d3a4
cmp eax, dword [esp + 0x14]
jle 0x42d377
mov dword [esp + 0x14], eax
cmp eax, 1
jle 0x42d3a4
push 0x4e891c
call fcn.0046ad90
push eax
push 0x2ab
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 0xc
jmp case.0x42d64e.78
mov eax, dword [0x4e8838]
cmp eax, ebp
je 0x42d3bc
push eax
call fcn.004a4cdf
add esp, 4
mov dword [0x4e8838], ebp
movzx edx, word [0x4e8872]
push ebp
push 3
push edx
call fcn.004343b0
cmp eax, ebp
je 0x42d3df
cmp eax, dword [esp + 0x14]
jle 0x42d3da
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42d37c
movzx eax, word [0x4e8872]
mov ecx, dword [0x4e8838]
push 0x4e8854
push eax
push ecx
call fcn.00472810
mov eax, dword [esp + 0x6c]
cmp eax, ebp
je 0x42d411
mov edx, 0x4e891c
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42d407
push 0x4e891c
call fcn.00451c80
cmp byte [eax], 0x5c
sete bl
test bl, bl
je 0x42d428
mov byte [eax], 0
push 0x4e891c
push 0x4e891c
call fcn.00451cc0
push 0x400
push 0
push 0x4e891c
call fcn.0040a1d0
mov eax, 0x4e891c
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + 0xc00], cl
inc eax
test cl, cl
jne 0x42d450
mov ax, word [0x4e8852]
xor edx, edx
shr ax, 0xb
and al, 1
mov word [0x4e8d1c], dx
mov byte [esp + 0x1b], al
je 0x42d4af
push 0x400
push 0x4e8d1c
push 0x4e891c
call fcn.004733c0
push 0x400
push 0x4e951c
xor eax, eax
push 0x4e8d1c
mov word [0x4e951a], ax
call fcn.004731f0
mov byte [0x4e991b], 0
mov eax, dword [0x4d87e8]
test byte [eax + 0x24], 0x10
je 0x42d4c8
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x42d4c6
cmp eax, 0xb
jne 0x42d4c8
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.00409df0
test al, al
je 0x42d93a
movsx ecx, byte [0x4f804b]
push ecx
call fcn.004a62e5
add esp, 4
cmp eax, 0x49
jne 0x42d52b
push 0x4e8d1c
push 0x4e891c
push 0x4f907c
push 0x4f8c7c
push 0x4f804c
push 0
push 0
call fcn.004359f0
cmp byte [0x4f673a], 0
jne case.0x42d64e.89
xor esi, esi
test bl, bl
jne 0x42d715
jmp 0x42d550
push 0x4e8d1c
push 0x4e891c
call fcn.004342c0
cmp eax, 0xffffffff
je 0x42d6fb
test eax, eax
je 0x42d599
cmp eax, 1
jne case.0x42d64e.89
mov eax, dword [0x4f65f4]
cmp eax, 2
je case.0x42d64e.78
cmp byte [0x4f6615], 0
jne 0x42d595
cmp byte [0x4f6614], 0
je 0x42d5a7
test esi, esi
jmp 0x42d5a1
mov eax, dword [0x4f65f4]
cmp eax, 2
je case.0x42d64e.78
test eax, eax
je case.0x42d64e.66
cmp eax, 3
jne case.0x42d64e.89
xor eax, eax
jmp 0x42d5c0
mov cl, byte [eax + 0x4e951c]
mov byte [esp + eax + 0xee0], cl
inc eax
test cl, cl
jne 0x42d5c0
xor eax, eax
jmp 0x42d5e0
movzx ecx, word [eax + 0x4e8d1c]
mov word [esp + eax + 0x12e0], cx
add eax, 2
test cx, cx
jne 0x42d5e0
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.0040af10
cmp al, 0x43
je 0x42d93a
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x42d64e.66
movzx edx, byte [eax + 0x42dc58]
jmp dword [edx*4 + 0x42dc44]
xor eax, eax
mov cl, byte [esp + eax + 0xee0]
mov byte [eax + 0x4e891c], cl
inc eax
test cl, cl
jne 0x42d662
xor eax, eax
jmp 0x42d680
movzx ecx, word [esp + eax + 0x12e0]
mov word [eax + 0x4e8d1c], cx
add eax, 2
test cx, cx
jne 0x42d680
cmp byte [esp + 0x1b], cl
je 0x42d6c1
cmp word [0x4e8d1c], cx
je 0x42d6c1
push 0x400
push 0x4e891c
push 0x4e8d1c
call fcn.00473300
mov byte [0x4e8d1b], 0
mov eax, 0x4e891c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42d6d0
sub eax, edx
cmp byte [eax + 0x4e891b], 0xa
jne 0x42d6e9
dec eax
mov byte [eax + 0x4e891c], cl
test eax, eax
je case.0x42d64e.82
mov esi, 1
jmp 0x42d550
cmp byte [0x4f6614], 0
je case.0x42d64e.89
test esi, esi
je case.0x42d64e.78
jmp case.0x42d64e.89
cmp byte [0x4f6614], 0
jne case.0x42d64e.78
cmp byte [0x4e891c], 0
je case.0x42d64e.78
cmp dword [0x4f6618], 1
je case.0x42d64e.78
mov ecx, dword [0x4d87e8]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x42d750
cmp eax, 0xb
jne 0x42d753
mov esi, dword [ecx + 0x24]
push 0x4e8d1c
push 0x4e891c
call fcn.00431780
test al, al
jne 0x42d804
cmp byte [0x4f66db], al
push esi
sete al
movzx ecx, al
push ecx
push 0x4e8d1c
push 0x4e891c
call fcn.004320b0
test eax, eax
je 0x42d804
push 1
push 0x4e8d1c
push 0x4e891c
call fcn.004323d0
cmp byte [0x4f66db], 0
push esi
sete dl
movzx eax, dl
push eax
push 0x4e8d1c
push 0x4e891c
call fcn.004320b0
test eax, eax
je 0x42d804
push 0x4e891c
call fcn.0046ad90
push eax
push 0x1f7
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 0xc
push 0x4e8d1c
push 0x4e891c
mov ecx, 0x4d76b4
call fcn.00428e10
mov ecx, 0x4d76b4
call fcn.00428fc0
jmp case.0x42d64e.78
movzx esi, word [0x4e8858]
movzx ecx, word [0x4e8856]
shl esi, 0x10
or esi, ecx
lea ecx, [esp + 0xeb8]
call fcn.0046db90
push esi
lea ecx, [esp + 0xebc]
call fcn.0046da10
push 0
push 0
lea edx, [esp + 0xec0]
push edx
push 0x4e8d1c
push 0x4e891c
call fcn.00432410
push 0x4e8d1c
push 0x4e891c
lea ecx, [esp + 0x88]
call fcn.0046aeb0
push esi
lea ecx, [esp + 0x60]
call fcn.0042c0d0
jmp case.0x42d64e.78
mov dword [0x4f65f4], 1
mov eax, dword [0x4d87e8]
test byte [eax + 0x28], 1
je 0x42d8fd
call fcn.00473000
test eax, eax
je 0x42d8fd
cmp eax, 1
jne 0x42d8de
cmp dword [0x4d7b88], 0
jne 0x42d8d8
cmp dword [0x4e991c], 0
je 0x42d8b5
push 0
call fcn.004934b0
add esp, 4
inc dword [esp + 0x50]
jmp case.0x42d64e.78
push 0x4e951c
call fcn.0046ad90
push eax
push 0x1fb
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 0xc
inc dword [esp + 0x50]
jmp case.0x42d64e.78
cmp eax, dword [esp + 0x14]
jle 0x42d8e8
mov dword [esp + 0x14], eax
push 0x4e951c
call fcn.0046ad90
push eax
push 0x1fb
jmp 0x42d38c
mov dword [0x4e88ec], 0
call fcn.0042c290
test eax, eax
je case.0x42d64e.78
cmp eax, dword [esp + 0x14]
jle 0x42d91a
mov dword [esp + 0x14], eax
cmp dword [0x4e88ec], 1
jg 0x42da80
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
jl 0x42cf52
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push 0
push ecx
mov ecx, dword [0x4e8818]
push edx
call fcn.00430d00
mov ecx, dword [0x4e8818]
call fcn.00430560
mov dword [0x4e8828], eax
mov eax, dword [0x4e87f4]
push 0x2000
push eax
mov dword [0x4e882c], edx
call fcn.00433d70
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 0x42ca52
push 0x400
lea ecx, [esp + 0x12e4]
push ecx
lea edx, [esp + 0xee8]
push edx
lea ecx, [esp + 0x8c]
call fcn.0046b320
test al, al
je 0x42da34
mov esi, dword [esp + 0x5c]
lea esp, [esp]
mov edi, dword [esi]
lea ecx, [esp + 0xeb8]
call fcn.0046db90
push edi
lea ecx, [esp + 0xebc]
call fcn.0046da10
push 0
push 0
lea eax, [esp + 0xec0]
push eax
lea ecx, [esp + 0x12ec]
push ecx
lea edx, [esp + 0xef0]
push edx
call fcn.00432410
push 0x400
lea eax, [esp + 0x12e4]
push eax
lea ecx, [esp + 0xee8]
push ecx
lea ecx, [esp + 0x8c]
add esi, 4
call fcn.0046b320
test al, al
jne 0x42d9d0
cmp byte [0x4eac4c], 0
jne 0x42dae6
cmp dword [esp + 0x44], 0
je 0x42dae6
cmp byte [0x4e999c], 0
jne 0x42dae6
push 0x2ad
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
mov ebx, dword [esp + 0x1c]
add esp, 8
test ebx, ebx
jne 0x42daea
mov ebx, 1
jmp 0x42daea
mov byte [esp + 0x1aec], 2
lea ecx, [esp + 0x80]
call fcn.00401ab0
mov byte [esp + 0x1aec], 1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42daad
push eax
call fcn.004a4cdf
add esp, 4
mov byte [esp + 0x1aec], 0
lea ecx, [esp + 0x128]
call fcn.00401ab0
mov dword [esp + 0x1aec], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42dadd
push eax
call fcn.004a4cdf
add esp, 4
mov eax, dword [esp + 0x14]
jmp 0x42dc1b
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
movzx esi, bp
inc edi
cmp edi, esi
jne 0x42db24
cmp byte [0x4f804b], 0x49
je 0x42db24
cmp dword [0x4e991c], 0
jne 0x42db24
push 0x344
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 8
test edi, edi
jne 0x42db3f
cmp ebx, 1
jg 0x42db3f
xor dx, dx
cmp dx, word [esp + 0x2c]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x42db71
cmp edi, esi
jne 0x42db4f
cmp ebx, 1
jg 0x42db4f
mov ebx, 0x52
jmp 0x42db71
cmp word [esp + 0x2c], 0
jbe 0x42db63
cmp ebx, 1
jg 0x42db63
mov ebx, 0x51
jmp 0x42db71
test bp, bp
jbe 0x42db71
test ebx, ebx
jne 0x42db71
mov ebx, 1
mov byte [esp + 0x1aec], 6
mov eax, dword [esp + 0x90]
test eax, eax
je 0x42db8d
push eax
call fcn.004a4cdf
add esp, 4
mov byte [esp + 0x1aec], 2
mov eax, dword [esp + 0x80]
test eax, eax
je 0x42dba9
push eax
call fcn.004a4cdf
add esp, 4
mov byte [esp + 0x1aec], 1
cmp dword [esp + 0x5c], 0
je 0x42dbc5
mov eax, dword [esp + 0x5c]
push eax
call fcn.004a4cdf
add esp, 4
mov byte [esp + 0x1aec], 8
mov eax, dword [esp + 0x138]
test eax, eax
je 0x42dbe1
push eax
call fcn.004a4cdf
add esp, 4
mov byte [esp + 0x1aec], 0
mov eax, dword [esp + 0x128]
test eax, eax
je 0x42dbfd
push eax
call fcn.004a4cdf
add esp, 4
mov dword [esp + 0x1aec], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42dc19
push eax
call fcn.004a4cdf
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.004a4b43
add esp, 0x1adc
ret