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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f8368
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x649c
call fcn.004df2e0
mov eax, dword [0x50fb70]
xor eax, esp
mov dword [esp + 0x6498], eax
push ebx
push esi
push edi
mov eax, dword [0x50fb70]
xor eax, esp
push eax
lea eax, [esp + 0x64b0]
mov dword fs:[0], eax
xor edi, edi
push 0x40
lea ecx, [esp + 0x60]
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x3c], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
call fcn.004d5cf0
mov dword [esp + 0x64b8], edi
lea ecx, [esp + 0x144]
call fcn.00466ea0
mov byte [esp + 0x64b8], 1
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov byte [esp + 0x64b8], 2
lea ecx, [esp + 0xe4]
call fcn.00466ea0
mov byte [esp + 0x64b8], 3
mov dword [0x5a04fc], 1
nop
mov esi, dword [esp + 0x10]
call fcn.00468500
test al, al
jne 0x4d79ad
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x20]
cmp eax, 0x40
jl 0x4d6b87
cmp byte [0x5b16d4], 0
je 0x4d6ffc
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jl 0x4d6bab
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x64]
jbe 0x4d6ba7
sub eax, ecx
push eax
lea ecx, [esp + 0x60]
call fcn.004d5cf0
jmp 0x4d6bab
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
push 4
add ecx, eax
push 0x5a052c
mov dword [0x5a0534], ecx
call fcn.004d8400
test eax, eax
je 0x4d6eea
mov bl, byte [0x5a052c]
cmp bl, 0x50
jne 0x4d6eff
cmp byte [0x5a052d], 0x4b
jne 0x4d6eff
cmp byte [0x5a052e], 1
jne 0x4d6eff
cmp byte [0x5a052f], 2
jne 0x4d6eff
call fcn.004dacb0
cmp eax, edi
jne 0x4d6fa5
movzx eax, byte [0x5b05c1]
movzx ecx, word [0x5b05e0]
push eax
push 0x5b05c4
mov ebx, 2
push ebx
xor edx, edx
push ecx
mov word [0x5b064c], dx
call fcn.004d8730
cmp eax, edi
je 0x4d6c4e
cmp eax, esi
jle 0x4d6c45
mov esi, eax
cmp eax, 1
jg 0x4d6fb3
movzx edx, word [0x5b05e2]
push edi
push edi
push 3
push edx
call fcn.004d8730
cmp eax, edi
je 0x4d6c72
cmp eax, esi
jle 0x4d6c69
mov esi, eax
cmp eax, 1
jg 0x4d6fb3
movzx eax, word [0x5b05e2]
mov ecx, dword [0x5b0590]
push edi
push eax
push ecx
call fcn.004dae70
movzx eax, word [0x5b05e2]
mov ecx, dword [0x5b0590]
push 0x5b05c6
call fcn.004d55c0
movzx edx, word [0x5b05e4]
push edi
push edi
push edi
push edx
call fcn.004d8730
cmp eax, edi
je 0x4d6cc1
cmp eax, esi
jle 0x4d6cb8
mov esi, eax
cmp eax, 1
jg 0x4d6fb3
mov ecx, dword [0x5b164c]
movzx edx, word [0x5b05e2]
push 0x3000
lea eax, [esp + 0x34a8]
push eax
mov eax, dword [0x5b0590]
push ecx
push edx
call fcn.004d5510
test al, al
je 0x4d6d16
push 0x800
push 0x5b064c
lea eax, [esp + 0x34ac]
push eax
call fcn.00469a80
push 0x800
push 0x5b064c
push 0x5b064c
call fcn.00450d70
movzx eax, word [0x5b05ca]
movzx ecx, word [0x5b05c8]
shl eax, 0x10
or eax, ecx
mov ecx, dword [0x5a0534]
push eax
add ecx, 0x28
call fcn.00468100
mov eax, dword [0x5a0534]
add eax, 0x30
mov dword [eax], edi
mov dword [eax + 4], edi
mov eax, dword [0x5a0534]
add eax, 0x38
mov dword [eax], edi
mov dword [eax + 4], edi
mov eax, dword [0x5a0534]
lea edx, [eax + 0x38]
lea ecx, [eax + 0x30]
push edx
push ecx
mov ecx, dword [0x5b0590]
add eax, 0x28
push eax
movzx eax, word [0x5b05e2]
call fcn.004d53e0
movzx eax, word [0x5b05e2]
mov ecx, dword [0x5b0590]
call fcn.004d5c90
mov bl, al
test bl, bl
je 0x4d6dcc
lea ecx, [esp + 0x94]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x20
mov dword [esp + 0x94], 0x550b7a
mov dword [esp + 0x98], 0x5b064c
mov dword [esp + 0xd4], 2
call fcn.00468710
lea ecx, [esp + 0x1a4]
call fcn.0040d650
mov byte [esp + 0x64b8], 4
push 0x2300
lea edx, [esp + 0x1a8]
push edi
push edx
call fcn.004e01d0
add esp, 0xc
push 0x800
push 0x5b064c
lea eax, [esp + 0x1cc]
push eax
call fcn.00466930
cmp dword [0x5343a4], 1
mov eax, dword [0x5a0534]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x11d4], ecx
mov edx, dword [eax + 0x2c]
mov eax, dword [0x5b05d8]
mov ecx, dword [0x5b05dc]
mov dword [esp + 0x11f4], eax
mov dword [esp + 0x11d8], edx
mov dword [esp + 0x11f8], ecx
mov eax, 5
je 0x4d6e63
cmp dword [0x54b8f4], edi
jne 0x4d6e63
cmp byte [0x54fb44], 0
jne 0x4d6e63
mov eax, CreateMappedBitmap
test bl, bl
jne 0x4d6eb8
push eax
push edi
lea edx, [esp + 0x1ac]
push edx
mov ecx, 0x545770
call fcn.00436ba0
test eax, eax
je 0x4d6eb8
call fcn.004d5af0
test eax, eax
je 0x4d6ead
push 0x5b064c
lea ecx, [esp + 0x148]
call fcn.00466d10
mov eax, 1
add dword [esp + 0x20], eax
add dword [esp + 0x10], eax
add dword [esp + 0x18], 0x48
jmp 0x4d6ebd
mov eax, 1
add dword [esp + 0x28], eax
jmp 0x4d6ebd
mov eax, 1
add dword [esp + 0x44], eax
adc dword [esp + 0x48], edi
mov byte [esp + 0x64b8], 3
mov eax, dword [esp + 0x11c4]
cmp eax, edi
je 0x4d6b71
push eax
call fcn.004df10f
add esp, 4
jmp 0x4d6b71
mov dword [esp + 0x10], 0x33
mov dword [esp + 0x14], 1
jmp 0x4d7000
mov edx, dword [0x5b0608]
mov eax, edx
xor eax, dword [esp + 0x44]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
mov dword [esp + 0x10], esi
je 0x4d6f4e
cmp edx, 0xffff
jne 0x4d6f2a
cmp dword [0x5b060c], edi
je 0x4d6f4e
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d440
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 1
jmp 0x4d7000
cmp bl, 0x50
jne 0x4d6f6e
cmp byte [0x5a052d], 0x4b
jne 0x4d6f6e
cmp byte [0x5a052e], 5
jne 0x4d6f6e
cmp byte [0x5a052f], 6
je 0x4d6f97
cmp byte [0x5b16dc], 0
je 0x4d6f85
push 0x5a052c
call fcn.004d53b0
test al, al
jne 0x4d6f97
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], 1
jmp 0x4d7000
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], 1
jmp 0x4d7000
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
jmp 0x4d7000
lea ecx, [esp + 0x94]
mov dword [esp + 0x10], esi
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x1a
mov dword [esp + 0x94], 0x550b7a
mov dword [esp + 0x98], 0x5b064c
mov dword [esp + 0xd4], ebx
call fcn.00468710
mov dword [esp + 0x14], 1
jmp 0x4d7000
mov dword [esp + 0x10], esi
cmp byte [0x5b16d4], 0
mov eax, dword [0x5b0580]
mov ecx, dword [0x5b0584]
mov edx, dword [0x5b0544]
mov dword [esp + 0x3c], eax
mov eax, dword [0x5b0548]
mov dword [esp + 0x40], ecx
mov ecx, dword [0x5b054c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
je 0x4d70c4
push 0x550b7a
mov dword [0x5b16d8], edi
call fcn.00451120
mov esi, eax
cmp esi, edi
je 0x4d707a
push str..zipx
push esi
call fcn.00469c20
test eax, eax
je 0x4d7073
push 3
push 0x502508
push esi
call fcn.00469c50
test eax, eax
jne 0x4d707a
mov eax, str.zx01
jmp 0x4d707f
mov eax, 0x4fa79c
push 0x800
push eax
push 0x550b7a
call fcn.00451ba0
mov ecx, dword [0x5b0560]
cmp ecx, edi
je 0x4d70a1
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5b0560], edi
call fcn.004d7bd0
cmp byte [0x54ba49], 0
push 0x550b7a
sete cl
movzx edx, cl
push edx
call fcn.00468440
cmp dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
jle 0x4d7934
mov eax, dword [esp + 0x38]
shl eax, 6
mov dword [esp + 0x78], eax
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
add ecx, eax
lea edx, [eax + eax*8]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], ecx
lea ecx, [eax + edx*8]
mov dword [0x5a0534], ecx
lea ecx, [esp + 0x144]
call fcn.00466ff0
cmp byte [0x5b16d4], 0
mov dword [esp + 0x80], eax
je 0x4d71cb
mov edx, dword [0x5a0534]
mov eax, dword [edx + 0x20]
cmp eax, dword [0x5b16d8]
je 0x4d71cb
movzx ecx, word [0x5b05f8]
cmp eax, ecx
jne 0x4d718c
push 0x550b7a
call fcn.00451120
mov esi, eax
test esi, esi
je 0x4d7175
push str..zipx
push esi
call fcn.00469c20
test eax, eax
je 0x4d716e
push 3
push 0x502508
push esi
call fcn.00469c50
test eax, eax
jne 0x4d7175
mov eax, 0x50253c
jmp 0x4d717a
mov eax, 0x4fa6f0
push 0x800
push eax
push 0x550b7a
call fcn.00451ba0
jmp 0x4d719c
push eax
push 0x800
push 0x550b7a
call fcn.004d5eb0
mov edx, dword [0x5a0534]
mov ecx, dword [0x5b0560]
mov eax, dword [edx + 0x20]
mov dword [0x5b16d8], eax
test ecx, ecx
je 0x4d71bc
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5b0560], 0
call fcn.004d7bd0
mov eax, dword [0x5a0534]
mov esi, dword [eax]
add esi, dword [0x5b0588]
mov edi, dword [eax + 4]
adc edi, dword [0x5b058c]
push 0
push 0x2000
push edi
push esi
mov dword [esp + 0x7c], esi
call fcn.004dfda0
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4d72a5
jl 0x4d7212
cmp dword [esp + 0x6c], 0
jae 0x4d72a5
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d440
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x10], 2
jne 0x4d7298
mov eax, dword [0x5b0588]
mov ecx, dword [0x5b058c]
mov edx, eax
or edx, ecx
je 0x4d7298
mov dword [esp + 0x30], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x30], eax
mov eax, dword [0x5a0534]
mov dword [0x5b0588], ecx
mov dword [0x5b058c], ecx
mov edi, dword [eax + 4]
mov esi, dword [eax]
push 0x2000
push edi
push esi
mov dword [esp + 0x7c], esi
call fcn.004dfda0
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4d72a5
jl 0x4d7289
cmp dword [esp + 0x6c], 0
jae 0x4d72a5
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d440
mov dword [esp + 0x10], 3
jmp 0x4d7917
cmp eax, dword [0x5b0580]
jne 0x4d72e4
cmp esi, dword [0x5b0584]
jne 0x4d72e4
cmp byte [0x5b16d4], 0
jne 0x4d72e4
mov eax, dword [0x5b0544]
mov ecx, dword [0x5b0540]
sub eax, ebx
sub eax, ecx
cdq
add dword [0x5b0548], eax
adc dword [0x5b054c], edx
add ebx, ecx
mov dword [0x5b0544], ebx
jmp 0x4d7362
mov ecx, dword [0x5b0560]
mov edx, dword [ecx]
push 0
push esi
push eax
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [0x5b0560]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [0x5b0540]
push 0x2000
push ecx
mov dword [0x5b0580], eax
mov dword [0x5b0584], edx
call fcn.004d8270
cdq
mov ecx, edx
mov esi, eax
mov dword [0x5b0548], esi
mov dword [0x5b054c], ecx
test ecx, ecx
jg 0x4d7341
jl 0x4d7289
test esi, esi
jbe 0x4d7289
mov edx, dword [0x5b0540]
lea eax, [ebx + edx]
mov dword [0x5b0544], eax
mov eax, ebx
cdq
sub esi, eax
sbb ecx, edx
mov dword [0x5b0548], esi
mov dword [0x5b054c], ecx
push 4
push 0x5a052c
call fcn.004d8400
test eax, eax
je 0x4d7289
cmp byte [0x5a052c], 0x50
jne 0x4d739e
cmp byte [0x5a052d], 0x4b
jne 0x4d739e
cmp byte [0x5a052e], 3
jne 0x4d739e
cmp byte [0x5a052f], 4
je 0x4d7452
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d440
cmp dword [esp + 0x1c], 0
mov eax, dword [0x5b0588]
mov ecx, dword [0x5b058c]
mov edi, 2
mov dword [esp + 0x10], edi
mov edx, eax
jne 0x4d73d0
or edx, ecx
jne 0x4d73f0
jmp 0x4d73d8
or edx, ecx
jne 0x4d7917
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov ebx, edx
or ebx, esi
je 0x4d7917
mov ebx, eax
or ebx, ecx
je 0x4d7406
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x30], ecx
mov dword [0x5b0588], eax
mov dword [0x5b058c], eax
jmp 0x4d7412
mov dword [0x5b0588], edx
mov dword [0x5b058c], esi
mov eax, dword [0x5a0534]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
call fcn.004d7eb0
test eax, eax
jne 0x4d7289
push 4
push 0x5a052c
call fcn.004d8400
test eax, eax
je 0x4d7289
push 0x5a052c
call fcn.004d5350
test al, al
jne 0x4d7456
jmp 0x4d7289
mov edi, dword [esp + 0x10]
call fcn.004db000
mov esi, eax
test esi, esi
je 0x4d7479
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d440
mov dword [esp + 0x10], esi
jmp 0x4d7917
movzx ecx, word [0x5b05b8]
xor eax, eax
push eax
push 0x5b059a
push 2
push ecx
mov word [0x5b064c], ax
call fcn.004d8730
test eax, eax
je 0x4d74bf
cmp eax, edi
jle 0x4d74a4
mov edi, eax
mov dword [esp + 0x10], edi
cmp eax, 1
jle 0x4d74bf
push 0x5b064c
push 0x550b7a
push 0x1a
call fcn.00408550
jmp 0x4d7917
mov eax, dword [0x5b0590]
test eax, eax
je 0x4d74db
push eax
call fcn.004df10f
add esp, 4
mov dword [0x5b0590], 0
movzx edx, word [0x5b05ba]
push 0
push 0
push 3
push edx
call fcn.004d8730
test eax, eax
je 0x4d74ff
cmp eax, edi
jle 0x4d74fa
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x4d74a9
movzx eax, word [0x5b05ba]
mov ecx, dword [0x5b0590]
push 1
push eax
push ecx
call fcn.004dae70
mov eax, dword [0x5b164c]
movzx ecx, word [0x5b05ba]
push 0x3000
lea edx, [esp + 0x34a8]
push edx
push eax
mov eax, dword [0x5b0590]
push ecx
call fcn.004d5510
test al, al
je 0x4d7569
push 0x800
push 0x5b064c
lea edx, [esp + 0x34ac]
push edx
call fcn.00469a80
push 0x800
push 0x5b064c
push 0x5b064c
call fcn.00450d70
mov eax, dword [0x5a0534]
mov ecx, dword [eax + 0x28]
mov dword [0x5b1650], ecx
mov edx, dword [eax + 0x2c]
mov dword [0x5b1654], edx
mov ecx, dword [eax + 0x30]
mov dword [0x5b1658], ecx
mov edx, dword [eax + 0x34]
mov dword [0x5b165c], edx
mov ecx, dword [eax + 0x38]
mov dword [0x5b1660], ecx
mov edx, dword [eax + 0x3c]
movzx eax, word [0x5b05ba]
mov ecx, dword [0x5b0590]
push 0x5b1660
push 0x5b1658
push 0x5b1650
mov dword [0x5b1664], edx
call fcn.004d53e0
movzx eax, word [0x5b05ba]
mov ecx, dword [0x5b0590]
push 0x5b059c
call fcn.004d55c0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4d75fd
cmp word [eax], 0
je 0x4d75fd
push 0x800
push eax
push 0x5b064c
call fcn.00466930
call fcn.004d5a70
cmp word [0x5b064c], 0
mov bl, al
je 0x4d763e
cmp word [0x5b064e], 0
je 0x4d763e
cmp word [0x5b0650], 0
mov eax, 0x5b0650
je 0x4d763e
cmp word [eax], 0x3a
jne 0x4d7635
mov ecx, 0x5f
mov word [eax], cx
add eax, 2
cmp word [eax], 0
jne 0x4d7627
push 0x5b064c
push 0x5b064c
call fcn.00450f80
push 0x800
push 0x5b064c
push 0x545770
call fcn.00468530
mov cl, byte [0x54ba49]
test cl, cl
je 0x4d7679
cmp word [0x54fb5a], 0x49
je 0x4d7679
mov al, 1
jmp 0x4d767b
xor al, al
push 0
test cl, cl
push eax
sete dl
movzx eax, dl
push eax
push 0x5b064c
call fcn.00468460
test al, al
je 0x4d7934
movzx ecx, word [0x54fb5a]
push ecx
call fcn.00469db0
cmp eax, 0x49
jne 0x4d76c3
push 0x5b064c
push 0x550b7a
push 0x54fb5c
push 0
push 0
call fcn.00445340
cmp byte [0x54ba49], 0
jne 0x4d789d
test bl, bl
je 0x4d77ec
cmp byte [0x54b8c3], 0
jne 0x4d7917
cmp word [0x5b064c], 0
je 0x4d7917
cmp dword [0x54b8c8], 1
je 0x4d7917
mov ecx, dword [0x5a0534]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x4d7714
cmp eax, 0xb
jne 0x4d7717
mov esi, dword [ecx + 0x24]
push 0x5b064c
call fcn.004432f0
test al, al
jne 0x4d778a
cmp byte [0x54ba26], al
push esi
sete dl
movzx eax, dl
push eax
push 0x5b064c
call fcn.00443620
test eax, eax
je 0x4d778a
push 1
push 0x5b064c
call fcn.004436d0
cmp byte [0x54ba26], 0
push esi
sete cl
movzx edx, cl
push edx
push 0x5b064c
call fcn.00443620
test eax, eax
je 0x4d778a
push 0x5b064c
push 0x550b7a
push 0x13
call fcn.00408550
mov ecx, 0x5275b8
call fcn.0043d530
jmp 0x4d7917
push 0x5b064c
lea ecx, [esp + 0xe8]
call fcn.00466d10
mov eax, dword [0x5b1654]
mov ecx, dword [0x5b1650]
push eax
push ecx
lea ecx, [esp + 0x8c]
call fcn.00401c20
mov edx, dword [0x5b1664]
mov eax, dword [0x5b1660]
push edx
push eax
lea ecx, [esp + 0x8c]
call fcn.00401c20
mov ecx, dword [0x5b165c]
mov edx, dword [0x5b1658]
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.00401c20
jmp 0x4d7917
push 0x5b064c
call fcn.004d8640
cmp eax, 0xffffffff
je 0x4d78e1
xor esi, esi
cmp eax, esi
je 0x4d78d2
cmp eax, 1
jne 0x4d789d
mov eax, dword [0x54b8a0]
cmp eax, 2
je 0x4d7917
cmp byte [0x54b8c4], 0
jne 0x4d7917
cmp byte [0x54b8c3], 0
jne 0x4d7917
cmp eax, esi
je 0x4d7843
cmp eax, 3
jne 0x4d789d
movzx eax, word [0x5b05a0]
movzx ecx, word [0x5b059e]
shl eax, 0x10
add eax, ecx
push eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
call fcn.00468100
mov eax, dword [0x5a051c]
mov ecx, dword [0x5a0518]
push esi
lea edx, [esp + 0x58]
push edx
push eax
push ecx
push 0x800
push 0x5b064c
push 0x545770
call fcn.00468580
cmp eax, 6
je 0x4d792c
cmp eax, 1
je 0x4d7917
mov edx, dword [0x5a0534]
test byte [edx + 0x40], 1
je 0x4d7904
call fcn.004dbf60
test eax, eax
je 0x4d7904
cmp eax, 9
je 0x4d79a4
cmp eax, 1
jne 0x4d78ec
push 0x5b064c
push 6
call fcn.00403460
inc dword [esp + 0x24]
jmp 0x4d7917
mov eax, dword [0x54b8a0]
cmp eax, 2
je 0x4d7917
jmp 0x4d783a
cmp byte [0x54b8c3], 0
jne 0x4d7917
jmp 0x4d789d
cmp eax, dword [esp + 0x10]
jle 0x4d78f6
mov dword [esp + 0x10], eax
push 0x5b064c
push 6
call fcn.00403460
jmp 0x4d7917
call fcn.004d6320
test eax, eax
je 0x4d7917
cmp eax, dword [esp + 0x10]
jle 0x4d7917
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
inc eax
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jl 0x4d70e0
jmp 0x4d7934
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x40]
mov ecx, dword [0x5b0560]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
xor edi, edi
push edi
push edx
mov edx, dword [esp + 0x44]
push edx
call eax
mov ecx, dword [0x5b0560]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [0x5b0540]
push 0x2000
push ecx
mov dword [0x5b0580], eax
mov dword [0x5b0584], edx
call fcn.004d8270
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
inc dword [esp + 0x38]
mov dword [0x5b0544], edx
mov dword [0x5b0548], eax
mov dword [0x5b054c], ecx
cmp dword [esp + 0x14], edi
je 0x4d6b50
jmp 0x4d79ad
push 2
call fcn.00402b70
xor edi, edi
push 0x800
lea edx, [esp + 0x24a8]
push edx
lea ecx, [esp + 0xec]
call fcn.00466f20
mov ebx, dword [esp + 0x84]
test al, al
je 0x4d7a39
lea esi, [ebx + 0x10]
mov eax, dword [esi - 0x10]
mov dword [esp + 0x54], eax
mov ecx, dword [esi - 0xc]
mov dword [esp + 0x58], ecx
mov edx, dword [esi - 8]
mov dword [esp + 0x3c], edx
mov eax, dword [esi - 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esi]
mov dword [esp + 0x4c], ecx
mov edx, dword [esi + 4]
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], edx
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x24b0]
push eax
call fcn.00443140
push 0x800
lea ecx, [esp + 0x24a8]
push ecx
lea ecx, [esp + 0xec]
add esi, 0x18
call fcn.00466f20
test al, al
jne 0x4d79d4
call fcn.00468500
test al, al
jne 0x4d7a6d
cmp dword [esp + 0x34], edi
je 0x4d7a6d
cmp byte [0x5b16d4], al
jne 0x4d7a6d
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d440
cmp dword [esp + 0x10], edi
jne 0x4d7a6d
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x1c]
movzx esi, word [esp + 0x24]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, esi
jne 0x4d7ac9
cmp word [0x54fb5a], 0x49
je 0x4d7ac9
cmp dword [0x5b1668], edi
jne 0x4d7ac9
lea ecx, [esp + 0x94]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x43
mov dword [esp + 0x94], 0x550b7a
mov dword [esp + 0xd4], 1
call fcn.00468710
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
cmp eax, edi
jne 0x4d7ae8
cmp ecx, 1
jg 0x4d7ae8
xor dx, dx
cmp dx, word [esp + 0x28]
sbb ecx, ecx
and ecx, 0x46
add ecx, 0xb
jmp 0x4d7b1b
cmp eax, esi
jne 0x4d7af8
cmp ecx, 1
jg 0x4d7af8
mov ecx, 0x52
jmp 0x4d7b1b
cmp word [esp + 0x28], di
jbe 0x4d7b0b
cmp ecx, 1
jg 0x4d7b0b
mov ecx, 0x51
jmp 0x4d7b1b
cmp word [esp + 0x24], di
jbe 0x4d7b1f
cmp ecx, edi
jne 0x4d7b1f
mov ecx, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0x64b8], 2
mov eax, dword [esp + 0xe4]
cmp eax, edi
je 0x4d7b3f
push eax
call fcn.004df10f
mov ecx, dword [esp + 0x14]
add esp, 4
mov byte [esp + 0x64b8], 1
cmp ebx, edi
je 0x4d7b58
push ebx
call fcn.004df10f
mov ecx, dword [esp + 0x14]
add esp, 4
mov byte [esp + 0x64b8], 0
mov eax, dword [esp + 0x144]
cmp eax, edi
je 0x4d7b78
push eax
call fcn.004df10f
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x64b8], 0xffffffff
cmp dword [esp + 0x5c], edi
je 0x4d7b9c
mov eax, dword [esp + 0x5c]
push eax
call fcn.004df10f
mov eax, dword [esp + 0x14]
add esp, 4
jmp 0x4d7b9e
mov eax, ecx
mov ecx, dword [esp + 0x64b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6498]
xor ecx, esp
call fcn.004df2c4
mov esp, ebp
pop ebp
ret