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

Disassembly:
push 0xffffffffffffffff
push 0x4b6b0e
mov eax, dword fs:[0]
push eax
mov eax, 0x1ad0
call fcn.004a5100
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.004a49ac
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, esi
jne 0x42c9e2
mov ecx, 0x4d76b4
call fcn.00429080
mov eax, 0x40
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x1aec], esi
lea ecx, [esp + 0x128]
call fcn.0046afd0
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.0046afd0
mov byte [esp + 0x1aec], 3
mov dword [0x4d87e8], edi
mov dword [0x4d7ba8], 1
cmp byte [0x4eac4c], 0
jne 0x42d993
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 0x42ca86
cmp byte [0x4e999c], 0
je 0x42cea4
cmp ebx, ebp
jl 0x42cadf
mov eax, dword [esp + 0x24]
cmp eax, esi
jbe 0x42cad9
sub eax, ebp
add ebp, eax
mov dword [esp + 0x34], ebp
cmp ebp, esi
jbe 0x42cadf
mov eax, esi
shr eax, 2
lea esi, [eax + esi + 0x20]
cmp ebp, esi
jbe 0x42caad
mov esi, ebp
mov edx, dword [esp + 0x30]
lea ecx, [esi + esi*2]
shl ecx, 4
push ecx
push edx
call fcn.004a4afd
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x42cad3
mov ecx, 0x4d76b4
call fcn.00429080
mov dword [esp + 0x38], esi
jmp 0x42cadf
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.00433e60
test eax, eax
je 0x42cddb
push 4
push 0x4e8845
push 0x4d7bdc
call fcn.004a6d66
add esp, 0xc
test eax, eax
jne 0x42cde8
call fcn.00456230
test eax, eax
jne 0x42ce73
movzx edx, word [0x4e887c]
movzx eax, word [0x4e8898]
push edx
push 2
push eax
call fcn.004343a0
mov edi, dword [esp + 0x14]
test eax, eax
je 0x42cb5d
cmp eax, edi
jle 0x42cb54
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42ce79
movzx ecx, word [0x4e889a]
push 0
push 3
push ecx
call fcn.004343a0
test eax, eax
je 0x42cb85
cmp eax, edi
jle 0x42cb7c
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jg 0x42ce79
movzx edx, word [0x4e889a]
mov eax, dword [0x4e8838]
push 0x4e887e
push edx
push eax
call fcn.00472630
movzx ecx, word [0x4e889c]
push 0
push 0
push ecx
call fcn.004343a0
test eax, eax
je 0x42cbc3
cmp eax, edi
jle 0x42cbba
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42ce79
test byte [0x4e88a4], 0x10
je 0x42cc03
movzx eax, byte [0x4e8879]
test eax, eax
je 0x42cbdc
cmp eax, 0xb
jne 0x42cc03
push 0x4e891c
call fcn.00451c90
cmp byte [eax], 0x5c
je 0x42cc03
mov edi, 0x4e891c
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42cbf1
mov dx, word [0x4bbf74]
mov word [edi], dx
lea ecx, [esp + 0x1d0]
call fcn.004021f0
mov byte [esp + 0x1aec], 4
push 0xce8
lea eax, [esp + 0x1d4]
push 0
push eax
call fcn.004a5130
add esp, 0xc
xor eax, eax
mov cl, byte [eax + 0x4e891c]
mov byte [esp + eax + 0x200], cl
inc eax
test cl, cl
jne 0x42cc30
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.0046d840
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 0x42cce8
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.004731e0
push 0x3ff
lea edx, [esp + 0x204]
push edx
lea eax, [esp + 0x608]
xor ecx, ecx
push eax
mov word [esp + 0xe0a], cx
call fcn.00473010
mov byte [esp + 0x5ff], 0
cmp dword [0x4ea3a4], 1
mov eax, 5
je 0x42cd0d
cmp dword [0x4f6610], 0
jne 0x42cd0d
cmp byte [0x4f7fce], 0
jne 0x42cd0d
mov eax, CreateMappedBitmap
push eax
push 0
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, 0x4f2ca0
call fcn.0041c8e0
test eax, eax
setne bl
cmp byte [0x4e891c], 0
je 0x42cd77
cmp byte [0x4e891d], 0
je 0x42cd77
cmp byte [0x4e891e], 0
mov eax, 0x4e891e
je 0x42cd77
mov edi, 1
lea esp, [esp]
cmp byte [eax], 0x3a
jne 0x42cd58
mov byte [eax], 0x5f
cmp byte [0x50e1b8], 0
je 0x42cd6e
push eax
mov ecx, 0x50e0b8
call fcn.004737b0
jmp 0x42cd70
add eax, edi
cmp byte [eax], 0
jne 0x42cd50
jmp 0x42cd7c
mov edi, 1
test bl, bl
je 0x42cdad
call fcn.0042bc50
test eax, eax
je 0x42cda9
push 0x4e891c
lea ecx, [esp + 0x12c]
call fcn.0046b070
add dword [esp + 0x28], edi
add dword [esp + 0x24], edi
add dword [esp + 0x20], 0x30
jmp 0x42cdad
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 0x42ca70
push eax
call fcn.004a4a6f
add esp, 4
jmp 0x42ca70
mov dword [esp + 0x14], 0x33
jmp 0x42ce9c
mov edx, dword [0x4e88c0]
mov eax, edx
xor eax, dword [esp + 0x54]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x42ce31
cmp edx, 0xffff
jne 0x42ce0f
cmp dword [0x4e88c4], ecx
je 0x42ce31
push 0x2ad
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
add esp, 8
mov dword [esp + 0x14], 3
jmp 0x42ce9c
push 4
push 0x4e884a
push 0x4d7bdc
call fcn.004a6d66
add esp, 0xc
test eax, eax
je 0x42ce69
push 4
push 0x4bbf6c
push 0x4d7bdc
call fcn.004a6d66
add esp, 0xc
mov dword [esp + 0x44], 1
test eax, eax
jne 0x42ce9c
mov dword [esp + 0x44], 0
jmp 0x42ce9c
mov dword [esp + 0x14], eax
jmp 0x42ce9c
push 0x4e891c
call fcn.0046abc0
push eax
push 0x2ab
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
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 0x42cf29
push 0x4bbf68
push 0x4f8c1c
mov dword [0x4e99a0], esi
call fcn.00453b50
cmp word [0x4f901c], si
je 0x42cf0c
push 0x4bbf60
push 0x4f901c
call fcn.00453bf0
mov ecx, dword [0x4e8818]
cmp ecx, esi
je 0x42cf1e
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x4e8818], esi
call fcn.00433b30
cmp ebx, esi
mov dword [esp + 0x20], esi
jle 0x42d92a
mov ecx, dword [esp + 0x3c]
shl ecx, 6
mov dword [esp + 0x24], ecx
jmp 0x42cf46
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.0046b280
cmp byte [0x4e999c], 0
mov dword [esp + 0x6c], eax
je 0x42d08a
mov edx, dword [0x4d87e8]
mov eax, dword [edx + 0x20]
cmp eax, dword [0x4e99a0]
je 0x42d08a
movzx ecx, word [0x4e88b0]
cmp eax, ecx
jne 0x42cfc5
push 0x4bbf5c
push 0x4f8c1c
call fcn.00453b50
cmp word [0x4f901c], 0
je 0x42d05b
push 0x4baa98
jmp 0x42d051
cmp eax, 0x63
jl 0x42cfdb
inc eax
push eax
push 0x4bbf3c
lea edx, [esp + 0xec0]
push edx
jmp 0x42cfea
inc eax
push eax
push 0x4bbf34
lea eax, [esp + 0xec0]
push eax
call fcn.004a48e2
add esp, 0xc
lea ecx, [esp + 0xeb8]
push ecx
push 0x4f8c1c
call fcn.00453b50
cmp word [0x4f901c], 0
je 0x42d05b
mov edx, dword [0x4d87e8]
mov eax, dword [edx + 0x20]
cmp eax, 0x63
mov edx, 0x14
jl 0x42d032
inc eax
push eax
push str.z_03d
lea eax, [esp + 0xec0]
push eax
jmp 0x42d041
inc eax
push eax
push str.z_02d
lea ecx, [esp + 0xec0]
push ecx
call fcn.004a29f0
add esp, 0xc
lea edx, [esp + 0xeb8]
push edx
push 0x4f901c
call fcn.00453bf0
mov eax, dword [0x4d87e8]
mov ecx, dword [eax + 0x20]
mov dword [0x4e99a0], ecx
mov ecx, dword [0x4e8818]
test ecx, ecx
je 0x42d07b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x4e8818], 0
call fcn.00433b30
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.004a7410
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42d167
jl 0x42d0ca
test ebp, ebp
jae 0x42d167
push 0x2ad
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
add esp, 8
mov dword [esp + 0x14], 2
test ebx, ebx
jne 0x42d15a
mov eax, dword [0x4e8830]
mov ecx, dword [0x4e8834]
mov edx, eax
or edx, ecx
je 0x42d15a
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.004a7410
mov edi, eax
mov eax, ebp
sub eax, edi
mov ecx, esi
sbb ecx, edx
test esi, esi
jg 0x42d16b
jl 0x42d142
test ebp, ebp
jae 0x42d16b
push 0x2ad
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
add esp, 8
mov dword [esp + 0x14], 3
jmp case.0x42d63e.78
mov ebx, dword [esp + 0x48]
cmp eax, dword [0x4e8828]
jne 0x42d1ac
cmp ecx, dword [0x4e882c]
jne 0x42d1ac
cmp byte [0x4e999c], 0
jne 0x42d1ac
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 0x42d226
xor ebp, ebp
push ebp
push ecx
mov ecx, dword [0x4e8818]
push eax
call fcn.00430cf0
mov ecx, dword [0x4e8818]
call fcn.00430550
mov dword [0x4e8828], eax
mov eax, dword [0x4e87f4]
push 0x2000
push eax
mov dword [0x4e882c], edx
call fcn.00433d60
cdq
mov ecx, edx
cmp ecx, ebp
mov esi, eax
mov dword [0x4e8800], esi
mov dword [0x4e8804], ecx
jg 0x42d205
jl 0x42d142
cmp esi, ebp
jbe 0x42d142
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.00433e60
test eax, eax
je 0x42d142
push 4
push 0x4e8840
push 0x4d7bdc
call fcn.004a6d66
add esp, 0xc
test eax, eax
je 0x42d316
push 0x2ad
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
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 0x42d28f
or edx, ecx
jne 0x42d2ab
jmp 0x42d297
or edx, ecx
jne case.0x42d63e.78
mov edx, dword [esp + 0x4c]
mov esi, ebx
or esi, edx
je case.0x42d63e.78
mov esi, eax
or esi, ecx
je 0x42d2c1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [0x4e8830], ebp
mov dword [0x4e8834], ebp
jmp 0x42d2cd
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.004340c0
cmp eax, ebp
jne 0x42d142
push 4
push 0x4d7bdc
call fcn.00433e60
test eax, eax
je 0x42d142
push 4
push 0x4e8840
push 0x4d7bdc
call fcn.004a6d66
add esp, 0xc
test eax, eax
jne 0x42d142
call fcn.00455bd0
mov esi, eax
cmp esi, ebp
je 0x42d342
push 0x2ad
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
add esp, 8
mov dword [esp + 0x14], esi
jmp case.0x42d63e.78
movzx eax, word [0x4e8852]
movzx ecx, word [0x4e8870]
push eax
push 2
push ecx
call fcn.004343a0
cmp eax, ebp
je 0x42d394
cmp eax, dword [esp + 0x14]
jle 0x42d367
mov dword [esp + 0x14], eax
cmp eax, 1
jle 0x42d394
push 0x4e891c
call fcn.0046abc0
push eax
push 0x2ab
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
add esp, 0xc
jmp case.0x42d63e.78
mov eax, dword [0x4e8838]
cmp eax, ebp
je 0x42d3ac
push eax
call fcn.004a4a6f
add esp, 4
mov dword [0x4e8838], ebp
movzx edx, word [0x4e8872]
push ebp
push 3
push edx
call fcn.004343a0
cmp eax, ebp
je 0x42d3cf
cmp eax, dword [esp + 0x14]
jle 0x42d3ca
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x42d36c
movzx eax, word [0x4e8872]
mov ecx, dword [0x4e8838]
push 0x4e8854
push eax
push ecx
call fcn.00472630
mov eax, dword [esp + 0x6c]
cmp eax, ebp
je 0x42d401
mov edx, 0x4e891c
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42d3f7
push 0x4e891c
call fcn.00451c90
cmp byte [eax], 0x5c
sete bl
test bl, bl
je 0x42d418
mov byte [eax], 0
push 0x4e891c
push 0x4e891c
call fcn.00451cd0
push 0x400
push 0
push 0x4e891c
call fcn.0040a230
mov eax, 0x4e891c
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + 0xc00], cl
inc eax
test cl, cl
jne 0x42d440
mov ax, word [0x4e8852]
xor edx, edx
shr ax, 0xb
and al, 1
mov word [0x4e8d1c], dx
mov byte [esp + 0x1b], al
je 0x42d49f
push 0x400
push 0x4e8d1c
push 0x4e891c
call fcn.004731e0
push 0x400
push 0x4e951c
xor eax, eax
push 0x4e8d1c
mov word [0x4e951a], ax
call fcn.00473010
mov byte [0x4e991b], 0
mov eax, dword [0x4d87e8]
test byte [eax + 0x24], 0x10
je 0x42d4b8
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x42d4b6
cmp eax, 0xb
jne 0x42d4b8
mov bl, 1
cmp byte [0x4f7feb], 0x49
movzx eax, byte [0x4f66da]
sete cl
push 0
movzx edx, cl
push edx
push eax
push 0
push 0x4e891c
call fcn.00409e40
test al, al
je 0x42d92a
movsx ecx, byte [0x4f7feb]
push ecx
call fcn.004a6075
add esp, 4
cmp eax, 0x49
jne 0x42d51b
push 0x4e8d1c
push 0x4e891c
push 0x4f901c
push 0x4f8c1c
push 0x4f7fec
push 0
push 0
call fcn.004359e0
cmp byte [0x4f66da], 0
jne case.0x42d63e.89
xor esi, esi
test bl, bl
jne 0x42d705
jmp 0x42d540
push 0x4e8d1c
push 0x4e891c
call fcn.004342b0
cmp eax, 0xffffffff
je 0x42d6eb
test eax, eax
je 0x42d589
cmp eax, 1
jne case.0x42d63e.89
mov eax, dword [0x4f65c4]
cmp eax, 2
je case.0x42d63e.78
cmp byte [0x4f65e5], 0
jne 0x42d585
cmp byte [0x4f65e4], 0
je 0x42d597
test esi, esi
jmp 0x42d591
mov eax, dword [0x4f65c4]
cmp eax, 2
je case.0x42d63e.78
test eax, eax
je case.0x42d63e.66
cmp eax, 3
jne case.0x42d63e.89
xor eax, eax
jmp 0x42d5b0
mov cl, byte [eax + 0x4e951c]
mov byte [esp + eax + 0xee0], cl
inc eax
test cl, cl
jne 0x42d5b0
xor eax, eax
jmp 0x42d5d0
movzx ecx, word [eax + 0x4e8d1c]
mov word [esp + eax + 0x12e0], cx
add eax, 2
test cx, cx
jne 0x42d5d0
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.0040af70
cmp al, 0x43
je 0x42d92a
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x42d63e.66
movzx edx, byte [eax + 0x42dc48]
jmp dword [edx*4 + 0x42dc34]
xor eax, eax
mov cl, byte [esp + eax + 0xee0]
mov byte [eax + 0x4e891c], cl
inc eax
test cl, cl
jne 0x42d652
xor eax, eax
jmp 0x42d670
movzx ecx, word [esp + eax + 0x12e0]
mov word [eax + 0x4e8d1c], cx
add eax, 2
test cx, cx
jne 0x42d670
cmp byte [esp + 0x1b], cl
je 0x42d6b1
cmp word [0x4e8d1c], cx
je 0x42d6b1
push 0x400
push 0x4e891c
push 0x4e8d1c
call fcn.00473120
mov byte [0x4e8d1b], 0
mov eax, 0x4e891c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42d6c0
sub eax, edx
cmp byte [eax + 0x4e891b], 0xa
jne 0x42d6d9
dec eax
mov byte [eax + 0x4e891c], cl
test eax, eax
je case.0x42d63e.82
mov esi, 1
jmp 0x42d540
cmp byte [0x4f65e4], 0
je case.0x42d63e.89
test esi, esi
je case.0x42d63e.78
jmp case.0x42d63e.89
cmp byte [0x4f65e4], 0
jne case.0x42d63e.78
cmp byte [0x4e891c], 0
je case.0x42d63e.78
cmp dword [0x4f65e8], 1
je case.0x42d63e.78
mov ecx, dword [0x4d87e8]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x42d740
cmp eax, 0xb
jne 0x42d743
mov esi, dword [ecx + 0x24]
push 0x4e8d1c
push 0x4e891c
call fcn.00431770
test al, al
jne 0x42d7f4
cmp byte [0x4f667b], al
push esi
sete al
movzx ecx, al
push ecx
push 0x4e8d1c
push 0x4e891c
call fcn.004320a0
test eax, eax
je 0x42d7f4
push 1
push 0x4e8d1c
push 0x4e891c
call fcn.004323c0
cmp byte [0x4f667b], 0
push esi
sete dl
movzx eax, dl
push eax
push 0x4e8d1c
push 0x4e891c
call fcn.004320a0
test eax, eax
je 0x42d7f4
push 0x4e891c
call fcn.0046abc0
push eax
push 0x1f7
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
add esp, 0xc
push 0x4e8d1c
push 0x4e891c
mov ecx, 0x4d76b4
call fcn.00428e00
mov ecx, 0x4d76b4
call fcn.00428fb0
jmp case.0x42d63e.78
movzx esi, word [0x4e8858]
movzx ecx, word [0x4e8856]
shl esi, 0x10
or esi, ecx
lea ecx, [esp + 0xeb8]
call fcn.00412750
push esi
lea ecx, [esp + 0xebc]
call fcn.0046d840
push 0
push 0
lea edx, [esp + 0xec0]
push edx
push 0x4e8d1c
push 0x4e891c
call fcn.00432400
push 0x4e8d1c
push 0x4e891c
lea ecx, [esp + 0x88]
call fcn.0046ace0
push esi
lea ecx, [esp + 0x60]
call fcn.0046c5e0
jmp case.0x42d63e.78
mov dword [0x4f65c4], 1
mov eax, dword [0x4d87e8]
test byte [eax + 0x28], 1
je 0x42d8ed
call fcn.00472e20
test eax, eax
je 0x42d8ed
cmp eax, 1
jne 0x42d8ce
cmp dword [0x4d7b88], 0
jne 0x42d8c8
cmp dword [0x4e991c], 0
je 0x42d8a5
push 0
call fcn.00493250
add esp, 4
inc dword [esp + 0x50]
jmp case.0x42d63e.78
push 0x4e951c
call fcn.0046abc0
push eax
push 0x1fb
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
add esp, 0xc
inc dword [esp + 0x50]
jmp case.0x42d63e.78
cmp eax, dword [esp + 0x14]
jle 0x42d8d8
mov dword [esp + 0x14], eax
push 0x4e951c
call fcn.0046abc0
push eax
push 0x1fb
jmp 0x42d37c
mov dword [0x4e88ec], 0
call fcn.0042c280
test eax, eax
je case.0x42d63e.78
cmp eax, dword [esp + 0x14]
jle 0x42d90a
mov dword [esp + 0x14], eax
cmp dword [0x4e88ec], 1
jg 0x42da70
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
jl 0x42cf42
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push 0
push ecx
mov ecx, dword [0x4e8818]
push edx
call fcn.00430cf0
mov ecx, dword [0x4e8818]
call fcn.00430550
mov dword [0x4e8828], eax
mov eax, dword [0x4e87f4]
push 0x2000
push eax
mov dword [0x4e882c], edx
call fcn.00433d60
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 0x42ca42
push 0x400
lea ecx, [esp + 0x12e4]
push ecx
lea edx, [esp + 0xee8]
push edx
lea ecx, [esp + 0x8c]
call fcn.0046b150
test al, al
je 0x42da24
mov esi, dword [esp + 0x5c]
lea esp, [esp]
mov edi, dword [esi]
lea ecx, [esp + 0xeb8]
call fcn.00412750
push edi
lea ecx, [esp + 0xebc]
call fcn.0046d840
push 0
push 0
lea eax, [esp + 0xec0]
push eax
lea ecx, [esp + 0x12ec]
push ecx
lea edx, [esp + 0xef0]
push edx
call fcn.00432400
push 0x400
lea eax, [esp + 0x12e4]
push eax
lea ecx, [esp + 0xee8]
push ecx
lea ecx, [esp + 0x8c]
add esi, 4
call fcn.0046b150
test al, al
jne 0x42d9c0
cmp byte [0x4eac4c], 0
jne 0x42dad6
cmp dword [esp + 0x44], 0
je 0x42dad6
cmp byte [0x4e999c], 0
jne 0x42dad6
push 0x2ad
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
mov ebx, dword [esp + 0x1c]
add esp, 8
test ebx, ebx
jne 0x42dada
mov ebx, 1
jmp 0x42dada
mov byte [esp + 0x1aec], 2
lea ecx, [esp + 0x80]
call fcn.00401b00
mov byte [esp + 0x1aec], 1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42da9d
push eax
call fcn.004a4a6f
add esp, 4
mov byte [esp + 0x1aec], 0
lea ecx, [esp + 0x128]
call fcn.00401b00
mov dword [esp + 0x1aec], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42dacd
push eax
call fcn.004a4a6f
add esp, 4
mov eax, dword [esp + 0x14]
jmp 0x42dc0b
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
movzx esi, bp
inc edi
cmp edi, esi
jne 0x42db14
cmp byte [0x4f7feb], 0x49
je 0x42db14
cmp dword [0x4e991c], 0
jne 0x42db14
push 0x344
call fcn.004611c0
push eax
push 0x4f901c
call fcn.00493840
add esp, 8
test edi, edi
jne 0x42db2f
cmp ebx, 1
jg 0x42db2f
xor dx, dx
cmp dx, word [esp + 0x2c]
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
jmp 0x42db61
cmp edi, esi
jne 0x42db3f
cmp ebx, 1
jg 0x42db3f
mov ebx, 0x52
jmp 0x42db61
cmp word [esp + 0x2c], 0
jbe 0x42db53
cmp ebx, 1
jg 0x42db53
mov ebx, 0x51
jmp 0x42db61
test bp, bp
jbe 0x42db61
test ebx, ebx
jne 0x42db61
mov ebx, 1
mov byte [esp + 0x1aec], 6
mov eax, dword [esp + 0x90]
test eax, eax
je 0x42db7d
push eax
call fcn.004a4a6f
add esp, 4
mov byte [esp + 0x1aec], 2
mov eax, dword [esp + 0x80]
test eax, eax
je 0x42db99
push eax
call fcn.004a4a6f
add esp, 4
mov byte [esp + 0x1aec], 1
cmp dword [esp + 0x5c], 0
je 0x42dbb5
mov eax, dword [esp + 0x5c]
push eax
call fcn.004a4a6f
add esp, 4
mov byte [esp + 0x1aec], 8
mov eax, dword [esp + 0x138]
test eax, eax
je 0x42dbd1
push eax
call fcn.004a4a6f
add esp, 4
mov byte [esp + 0x1aec], 0
mov eax, dword [esp + 0x128]
test eax, eax
je 0x42dbed
push eax
call fcn.004a4a6f
add esp, 4
mov dword [esp + 0x1aec], 0xffffffff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42dc09
push eax
call fcn.004a4a6f
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.004a48d3
add esp, 0x1adc
ret