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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f8898
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x649c
call fcn.004df840
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.004d6240
mov dword [esp + 0x64b8], edi
lea ecx, [esp + 0x144]
call fcn.00467090
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.00467090
mov byte [esp + 0x64b8], 3
mov dword [0x5a04fc], 1
nop
mov esi, dword [esp + 0x10]
call fcn.004687e0
test al, al
jne 0x4d7edd
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x20]
cmp eax, 0x40
jl 0x4d70b7
cmp byte [0x5b16d4], 0
je 0x4d752c
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jl 0x4d70db
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x64]
jbe 0x4d70d7
sub eax, ecx
push eax
lea ecx, [esp + 0x60]
call fcn.004d6240
jmp 0x4d70db
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.004d8930
test eax, eax
je 0x4d741a
mov bl, byte [0x5a052c]
cmp bl, 0x50
jne 0x4d742f
cmp byte [0x5a052d], 0x4b
jne 0x4d742f
cmp byte [0x5a052e], 1
jne 0x4d742f
cmp byte [0x5a052f], 2
jne 0x4d742f
call fcn.004db1f0
cmp eax, edi
jne 0x4d74d5
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.004d8c60
cmp eax, edi
je 0x4d717e
cmp eax, esi
jle 0x4d7175
mov esi, eax
cmp eax, 1
jg 0x4d74e3
movzx edx, word [0x5b05e2]
push edi
push edi
push 3
push edx
call fcn.004d8c60
cmp eax, edi
je 0x4d71a2
cmp eax, esi
jle 0x4d7199
mov esi, eax
cmp eax, 1
jg 0x4d74e3
movzx eax, word [0x5b05e2]
mov ecx, dword [0x5b0590]
push edi
push eax
push ecx
call fcn.004db3b0
movzx eax, word [0x5b05e2]
mov ecx, dword [0x5b0590]
push 0x5b05c6
call fcn.004d5b00
movzx edx, word [0x5b05e4]
push edi
push edi
push edi
push edx
call fcn.004d8c60
cmp eax, edi
je 0x4d71f1
cmp eax, esi
jle 0x4d71e8
mov esi, eax
cmp eax, 1
jg 0x4d74e3
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.004d5a50
test al, al
je 0x4d7246
push 0x800
push 0x5b064c
lea eax, [esp + 0x34ac]
push eax
call fcn.00469d60
push 0x800
push 0x5b064c
push 0x5b064c
call fcn.00450f90
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.004683e0
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.004d5920
movzx eax, word [0x5b05e2]
mov ecx, dword [0x5b0590]
call fcn.004d61e0
mov bl, al
test bl, bl
je 0x4d72fc
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.004689f0
lea ecx, [esp + 0x1a4]
call fcn.0040d6b0
mov byte [esp + 0x64b8], 4
push 0x2300
lea edx, [esp + 0x1a8]
push edi
push edx
call fcn.004e0730
add esp, 0xc
push 0x800
push 0x5b064c
lea eax, [esp + 0x1cc]
push eax
call fcn.00466b20
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 0x4d7393
cmp dword [0x54b8f4], edi
jne 0x4d7393
cmp byte [0x54fb44], 0
jne 0x4d7393
mov eax, CreateMappedBitmap
test bl, bl
jne 0x4d73e8
push eax
push edi
lea edx, [esp + 0x1ac]
push edx
mov ecx, 0x545770
call fcn.00436d70
test eax, eax
je 0x4d73e8
call fcn.004d6030
test eax, eax
je 0x4d73dd
push 0x5b064c
lea ecx, [esp + 0x148]
call fcn.00466f00
mov eax, 1
add dword [esp + 0x20], eax
add dword [esp + 0x10], eax
add dword [esp + 0x18], 0x48
jmp 0x4d73ed
mov eax, 1
add dword [esp + 0x28], eax
jmp 0x4d73ed
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 0x4d70a1
push eax
call fcn.004df66f
add esp, 4
jmp 0x4d70a1
mov dword [esp + 0x10], 0x33
mov dword [esp + 0x14], 1
jmp 0x4d7530
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 0x4d747e
cmp edx, 0xffff
jne 0x4d745a
cmp dword [0x5b060c], edi
je 0x4d747e
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d670
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 1
jmp 0x4d7530
cmp bl, 0x50
jne 0x4d749e
cmp byte [0x5a052d], 0x4b
jne 0x4d749e
cmp byte [0x5a052e], 5
jne 0x4d749e
cmp byte [0x5a052f], 6
je 0x4d74c7
cmp byte [0x5b16dc], 0
je 0x4d74b5
push 0x5a052c
call fcn.004d58f0
test al, al
jne 0x4d74c7
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], 1
jmp 0x4d7530
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], 1
jmp 0x4d7530
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
jmp 0x4d7530
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.004689f0
mov dword [esp + 0x14], 1
jmp 0x4d7530
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 0x4d75f4
push 0x550b7a
mov dword [0x5b16d8], edi
call fcn.00451340
mov esi, eax
cmp esi, edi
je 0x4d75aa
push str..zipx
push esi
call fcn.00469f00
test eax, eax
je 0x4d75a3
push 3
push 0x502508
push esi
call fcn.00469f30
test eax, eax
jne 0x4d75aa
mov eax, str.zx01
jmp 0x4d75af
mov eax, 0x4fa79c
push 0x800
push eax
push 0x550b7a
call fcn.00451dc0
mov ecx, dword [0x5b0560]
cmp ecx, edi
je 0x4d75d1
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5b0560], edi
call fcn.004d8100
cmp byte [0x54ba49], 0
push 0x550b7a
sete cl
movzx edx, cl
push edx
call fcn.00468720
cmp dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
jle 0x4d7e64
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.004671e0
cmp byte [0x5b16d4], 0
mov dword [esp + 0x80], eax
je 0x4d76fb
mov edx, dword [0x5a0534]
mov eax, dword [edx + 0x20]
cmp eax, dword [0x5b16d8]
je 0x4d76fb
movzx ecx, word [0x5b05f8]
cmp eax, ecx
jne 0x4d76bc
push 0x550b7a
call fcn.00451340
mov esi, eax
test esi, esi
je 0x4d76a5
push str..zipx
push esi
call fcn.00469f00
test eax, eax
je 0x4d769e
push 3
push 0x502508
push esi
call fcn.00469f30
test eax, eax
jne 0x4d76a5
mov eax, 0x50253c
jmp 0x4d76aa
mov eax, 0x4fa6f0
push 0x800
push eax
push 0x550b7a
call fcn.00451dc0
jmp 0x4d76cc
push eax
push 0x800
push 0x550b7a
call fcn.004d6400
mov edx, dword [0x5a0534]
mov ecx, dword [0x5b0560]
mov eax, dword [edx + 0x20]
mov dword [0x5b16d8], eax
test ecx, ecx
je 0x4d76ec
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5b0560], 0
call fcn.004d8100
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.004e0300
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4d77d5
jl 0x4d7742
cmp dword [esp + 0x6c], 0
jae 0x4d77d5
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d670
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x10], 2
jne 0x4d77c8
mov eax, dword [0x5b0588]
mov ecx, dword [0x5b058c]
mov edx, eax
or edx, ecx
je 0x4d77c8
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.004e0300
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4d77d5
jl 0x4d77b9
cmp dword [esp + 0x6c], 0
jae 0x4d77d5
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d670
mov dword [esp + 0x10], 3
jmp 0x4d7e47
cmp eax, dword [0x5b0580]
jne 0x4d7814
cmp esi, dword [0x5b0584]
jne 0x4d7814
cmp byte [0x5b16d4], 0
jne 0x4d7814
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 0x4d7892
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.004d87a0
cdq
mov ecx, edx
mov esi, eax
mov dword [0x5b0548], esi
mov dword [0x5b054c], ecx
test ecx, ecx
jg 0x4d7871
jl 0x4d77b9
test esi, esi
jbe 0x4d77b9
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.004d8930
test eax, eax
je 0x4d77b9
cmp byte [0x5a052c], 0x50
jne 0x4d78ce
cmp byte [0x5a052d], 0x4b
jne 0x4d78ce
cmp byte [0x5a052e], 3
jne 0x4d78ce
cmp byte [0x5a052f], 4
je 0x4d7982
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d670
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 0x4d7900
or edx, ecx
jne 0x4d7920
jmp 0x4d7908
or edx, ecx
jne 0x4d7e47
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov ebx, edx
or ebx, esi
je 0x4d7e47
mov ebx, eax
or ebx, ecx
je 0x4d7936
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x30], ecx
mov dword [0x5b0588], eax
mov dword [0x5b058c], eax
jmp 0x4d7942
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.004d83e0
test eax, eax
jne 0x4d77b9
push 4
push 0x5a052c
call fcn.004d8930
test eax, eax
je 0x4d77b9
push 0x5a052c
call fcn.004d5890
test al, al
jne 0x4d7986
jmp 0x4d77b9
mov edi, dword [esp + 0x10]
call fcn.004db540
mov esi, eax
test esi, esi
je 0x4d79a9
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d670
mov dword [esp + 0x10], esi
jmp 0x4d7e47
movzx ecx, word [0x5b05b8]
xor eax, eax
push eax
push 0x5b059a
push 2
push ecx
mov word [0x5b064c], ax
call fcn.004d8c60
test eax, eax
je 0x4d79ef
cmp eax, edi
jle 0x4d79d4
mov edi, eax
mov dword [esp + 0x10], edi
cmp eax, 1
jle 0x4d79ef
push 0x5b064c
push 0x550b7a
push 0x1a
call fcn.004085b0
jmp 0x4d7e47
mov eax, dword [0x5b0590]
test eax, eax
je 0x4d7a0b
push eax
call fcn.004df66f
add esp, 4
mov dword [0x5b0590], 0
movzx edx, word [0x5b05ba]
push 0
push 0
push 3
push edx
call fcn.004d8c60
test eax, eax
je 0x4d7a2f
cmp eax, edi
jle 0x4d7a2a
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x4d79d9
movzx eax, word [0x5b05ba]
mov ecx, dword [0x5b0590]
push 1
push eax
push ecx
call fcn.004db3b0
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.004d5a50
test al, al
je 0x4d7a99
push 0x800
push 0x5b064c
lea edx, [esp + 0x34ac]
push edx
call fcn.00469d60
push 0x800
push 0x5b064c
push 0x5b064c
call fcn.00450f90
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.004d5920
movzx eax, word [0x5b05ba]
mov ecx, dword [0x5b0590]
push 0x5b059c
call fcn.004d5b00
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4d7b2d
cmp word [eax], 0
je 0x4d7b2d
push 0x800
push eax
push 0x5b064c
call fcn.00466b20
call fcn.004d5fb0
cmp word [0x5b064c], 0
mov bl, al
je 0x4d7b6e
cmp word [0x5b064e], 0
je 0x4d7b6e
cmp word [0x5b0650], 0
mov eax, 0x5b0650
je 0x4d7b6e
cmp word [eax], 0x3a
jne 0x4d7b65
mov ecx, 0x5f
mov word [eax], cx
add eax, 2
cmp word [eax], 0
jne 0x4d7b57
push 0x5b064c
push 0x5b064c
call fcn.004511a0
push 0x800
push 0x5b064c
push 0x545770
call fcn.00468810
mov cl, byte [0x54ba49]
test cl, cl
je 0x4d7ba9
cmp word [0x54fb5a], 0x49
je 0x4d7ba9
mov al, 1
jmp 0x4d7bab
xor al, al
push 0
test cl, cl
push eax
sete dl
movzx eax, dl
push eax
push 0x5b064c
call fcn.00468740
test al, al
je 0x4d7e64
movzx ecx, word [0x54fb5a]
push ecx
call fcn.0046a090
cmp eax, 0x49
jne 0x4d7bf3
push 0x5b064c
push 0x550b7a
push 0x54fb5c
push 0
push 0
call fcn.00445560
cmp byte [0x54ba49], 0
jne 0x4d7dcd
test bl, bl
je 0x4d7d1c
cmp byte [0x54b8c3], 0
jne 0x4d7e47
cmp word [0x5b064c], 0
je 0x4d7e47
cmp dword [0x54b8c8], 1
je 0x4d7e47
mov ecx, dword [0x5a0534]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x4d7c44
cmp eax, 0xb
jne 0x4d7c47
mov esi, dword [ecx + 0x24]
push 0x5b064c
call fcn.00443510
test al, al
jne 0x4d7cba
cmp byte [0x54ba26], al
push esi
sete dl
movzx eax, dl
push eax
push 0x5b064c
call fcn.00443840
test eax, eax
je 0x4d7cba
push 1
push 0x5b064c
call fcn.004438f0
cmp byte [0x54ba26], 0
push esi
sete cl
movzx edx, cl
push edx
push 0x5b064c
call fcn.00443840
test eax, eax
je 0x4d7cba
push 0x5b064c
push 0x550b7a
push 0x13
call fcn.004085b0
mov ecx, 0x5275b8
call fcn.0043d760
jmp 0x4d7e47
push 0x5b064c
lea ecx, [esp + 0xe8]
call fcn.00466f00
mov eax, dword [0x5b1654]
mov ecx, dword [0x5b1650]
push eax
push ecx
lea ecx, [esp + 0x8c]
call fcn.00434e20
mov edx, dword [0x5b1664]
mov eax, dword [0x5b1660]
push edx
push eax
lea ecx, [esp + 0x8c]
call fcn.00434e20
mov ecx, dword [0x5b165c]
mov edx, dword [0x5b1658]
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.00434e20
jmp 0x4d7e47
push 0x5b064c
call fcn.004d8b70
cmp eax, 0xffffffff
je 0x4d7e11
xor esi, esi
cmp eax, esi
je 0x4d7e02
cmp eax, 1
jne 0x4d7dcd
mov eax, dword [0x54b8a0]
cmp eax, 2
je 0x4d7e47
cmp byte [0x54b8c4], 0
jne 0x4d7e47
cmp byte [0x54b8c3], 0
jne 0x4d7e47
cmp eax, esi
je 0x4d7d73
cmp eax, 3
jne 0x4d7dcd
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.004683e0
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.00468860
cmp eax, 6
je 0x4d7e5c
cmp eax, 1
je 0x4d7e47
mov edx, dword [0x5a0534]
test byte [edx + 0x40], 1
je 0x4d7e34
call fcn.004dc4a0
test eax, eax
je 0x4d7e34
cmp eax, 9
je 0x4d7ed4
cmp eax, 1
jne 0x4d7e1c
push 0x5b064c
push 6
call fcn.004034a0
inc dword [esp + 0x24]
jmp 0x4d7e47
mov eax, dword [0x54b8a0]
cmp eax, 2
je 0x4d7e47
jmp 0x4d7d6a
cmp byte [0x54b8c3], 0
jne 0x4d7e47
jmp 0x4d7dcd
cmp eax, dword [esp + 0x10]
jle 0x4d7e26
mov dword [esp + 0x10], eax
push 0x5b064c
push 6
call fcn.004034a0
jmp 0x4d7e47
call fcn.004d6870
test eax, eax
je 0x4d7e47
cmp eax, dword [esp + 0x10]
jle 0x4d7e47
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
inc eax
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jl 0x4d7610
jmp 0x4d7e64
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.004d87a0
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 0x4d7080
jmp 0x4d7edd
push 2
call fcn.00402bb0
xor edi, edi
push 0x800
lea edx, [esp + 0x24a8]
push edx
lea ecx, [esp + 0xec]
call fcn.00467110
mov ebx, dword [esp + 0x84]
test al, al
je 0x4d7f69
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.00443360
push 0x800
lea ecx, [esp + 0x24a8]
push ecx
lea ecx, [esp + 0xec]
add esi, 0x18
call fcn.00467110
test al, al
jne 0x4d7f04
call fcn.004687e0
test al, al
jne 0x4d7f9d
cmp dword [esp + 0x34], edi
je 0x4d7f9d
cmp byte [0x5b16d4], al
jne 0x4d7f9d
push 0x550b7a
mov ecx, 0x5275b8
call fcn.0043d670
cmp dword [esp + 0x10], edi
jne 0x4d7f9d
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 0x4d7ff9
cmp word [0x54fb5a], 0x49
je 0x4d7ff9
cmp dword [0x5b1668], edi
jne 0x4d7ff9
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.004689f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
cmp eax, edi
jne 0x4d8018
cmp ecx, 1
jg 0x4d8018
xor dx, dx
cmp dx, word [esp + 0x28]
sbb ecx, ecx
and ecx, 0x46
add ecx, 0xb
jmp 0x4d804b
cmp eax, esi
jne 0x4d8028
cmp ecx, 1
jg 0x4d8028
mov ecx, 0x52
jmp 0x4d804b
cmp word [esp + 0x28], di
jbe 0x4d803b
cmp ecx, 1
jg 0x4d803b
mov ecx, 0x51
jmp 0x4d804b
cmp word [esp + 0x24], di
jbe 0x4d804f
cmp ecx, edi
jne 0x4d804f
mov ecx, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0x64b8], 2
mov eax, dword [esp + 0xe4]
cmp eax, edi
je 0x4d806f
push eax
call fcn.004df66f
mov ecx, dword [esp + 0x14]
add esp, 4
mov byte [esp + 0x64b8], 1
cmp ebx, edi
je 0x4d8088
push ebx
call fcn.004df66f
mov ecx, dword [esp + 0x14]
add esp, 4
mov byte [esp + 0x64b8], 0
mov eax, dword [esp + 0x144]
cmp eax, edi
je 0x4d80a8
push eax
call fcn.004df66f
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x64b8], 0xffffffff
cmp dword [esp + 0x5c], edi
je 0x4d80cc
mov eax, dword [esp + 0x5c]
push eax
call fcn.004df66f
mov eax, dword [esp + 0x14]
add esp, 4
jmp 0x4d80ce
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.004df824
mov esp, ebp
pop ebp
ret