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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x500078
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x649c
call fcn.004e6a80
mov eax, dword [0x519bc0]
xor eax, esp
mov dword [esp + 0x6498], eax
push ebx
push esi
push edi
mov eax, dword [0x519bc0]
xor eax, esp
push eax
lea eax, [esp + 0x64b0]
mov dword fs:[0], eax
xor edi, edi
push 0x40
lea ecx, [esp + 0x68]
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x44], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
call fcn.004dd340
mov dword [esp + 0x64b8], edi
lea ecx, [esp + 0x144]
call fcn.00469ab0
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.00469ab0
mov byte [esp + 0x64b8], 3
mov dword [0x5aa644], 1
lea esi, [edi + 1]
call fcn.0046b1e0
test al, al
jne 0x4defe0
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], esi
jmp 0x4de170
mov eax, dword [esp + 0x24]
cmp eax, 0x40
jl 0x4de186
cmp byte [0x5bb81c], 0
je 0x4de60f
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jl 0x4de1aa
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x6c]
jbe 0x4de1a6
sub eax, ecx
push eax
lea ecx, [esp + 0x68]
call fcn.004dd340
jmp 0x4de1aa
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x1c]
push 4
add eax, ecx
push 0x5aa674
mov dword [0x5aa67c], eax
call fcn.004dfa30
test eax, eax
je 0x4de530
mov bl, byte [0x5aa674]
cmp bl, 0x50
jne 0x4de53d
cmp byte [0x5aa675], 0x4b
jne 0x4de53d
cmp byte [0x5aa676], 1
jne 0x4de53d
cmp byte [0x5aa677], 2
jne 0x4de53d
call fcn.004e2300
cmp eax, edi
jne 0x4de5c6
movzx eax, byte [0x5ba709]
movzx ecx, word [0x5ba728]
push eax
push 0x5ba70c
mov esi, 2
push esi
xor edx, edx
push ecx
mov word [0x5ba794], dx
call fcn.004dfd60
mov ebx, dword [esp + 0x14]
cmp eax, edi
je 0x4de254
cmp eax, ebx
jle 0x4de24b
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp eax, 1
jg 0x4de5cc
movzx edx, word [0x5ba72a]
push edi
push edi
push 3
push edx
call fcn.004dfd60
cmp eax, edi
je 0x4de27c
cmp eax, ebx
jle 0x4de273
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp eax, 1
jg 0x4de5cc
movzx eax, word [0x5ba72a]
mov ecx, dword [0x5ba6d8]
push edi
push eax
push ecx
call fcn.004e24c0
movzx eax, word [0x5ba72a]
mov ecx, dword [0x5ba6d8]
push 0x5ba70e
call fcn.004dc920
movzx edx, word [0x5ba72c]
push edi
push edi
push edi
push edx
call fcn.004dfd60
cmp eax, edi
je 0x4de2cd
cmp eax, ebx
jle 0x4de2c4
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x4de5cc
mov ecx, dword [0x5bb794]
movzx edx, word [0x5ba72a]
push 0x3000
lea eax, [esp + 0x34a8]
push eax
mov eax, dword [0x5ba6d8]
push ecx
push edx
call fcn.004dc870
test al, al
je 0x4de331
push 0x800
push 0x5ba794
lea eax, [esp + 0x34ac]
push eax
call fcn.0046c800
push 0x800
push 0x5ba794
call fcn.004534d0
push 0x800
push 0x5ba794
push 0x5ba794
call fcn.00453050
movzx eax, word [0x5ba712]
movzx ecx, word [0x5ba710]
shl eax, 0x10
or eax, ecx
mov ecx, dword [0x5aa67c]
push eax
add ecx, 0x28
call fcn.0046ade0
mov eax, dword [0x5aa67c]
add eax, 0x30
mov dword [eax], edi
mov dword [eax + 4], edi
mov eax, dword [0x5aa67c]
add eax, 0x38
mov dword [eax], edi
mov dword [eax + 4], edi
mov eax, dword [0x5aa67c]
lea edx, [eax + 0x38]
lea ecx, [eax + 0x30]
push edx
push ecx
mov ecx, dword [0x5ba6d8]
add eax, 0x28
push eax
movzx eax, word [0x5ba72a]
call fcn.004dc740
movzx eax, word [0x5ba72a]
mov ecx, dword [0x5ba6d8]
call fcn.004dd2e0
mov bl, al
test bl, bl
je 0x4de3e3
lea ecx, [esp + 0x94]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x20
mov dword [esp + 0x94], 0x55ac02
mov dword [esp + 0x98], 0x5ba794
mov dword [esp + 0xd4], esi
call fcn.0046b420
lea ecx, [esp + 0x1a4]
call fcn.0040dda0
mov byte [esp + 0x64b8], 4
push 0x2300
lea edx, [esp + 0x1a8]
push edi
push edx
call fcn.004e7970
add esp, 0xc
push 0x800
push 0x5ba794
lea eax, [esp + 0x1cc]
push eax
call fcn.004694f0
lea ecx, [esp + 0x1c4]
push ecx
call fcn.00452bf0
mov esi, eax
lea edx, [esp + 0x1c4]
cmp esi, edx
jbe 0x4de450
movzx eax, word [esi]
push eax
call fcn.00452c50
test al, al
je 0x4de450
xor ecx, ecx
mov word [esi], cx
cmp dword [0x53e344], 1
mov eax, dword [0x5aa67c]
mov edx, dword [eax + 0x28]
mov ecx, dword [0x5ba720]
mov dword [esp + 0x11d4], edx
mov eax, dword [eax + 0x2c]
mov edx, dword [0x5ba724]
mov dword [esp + 0x11d8], eax
mov dword [esp + 0x11f4], ecx
mov dword [esp + 0x11f8], edx
mov eax, 5
je 0x4de4a7
cmp dword [0x55597c], edi
jne 0x4de4a7
cmp byte [0x559bcc], 0
jne 0x4de4a7
mov eax, CreateMappedBitmap
test bl, bl
jne 0x4de4fe
push edi
push edi
push eax
push edi
lea eax, [esp + 0x1b4]
push eax
mov ecx, 0x54f7f0
call fcn.00438b40
test eax, eax
je 0x4de4fe
call fcn.004dd060
test eax, eax
je 0x4de4f3
push 0x5ba794
lea ecx, [esp + 0x148]
call fcn.00469920
mov eax, 1
add dword [esp + 0x24], eax
add dword [esp + 0x28], eax
add dword [esp + 0x1c], 0x48
jmp 0x4de503
mov eax, 1
add dword [esp + 0x30], eax
jmp 0x4de503
mov eax, 1
add dword [esp + 0x4c], eax
adc dword [esp + 0x50], edi
mov byte [esp + 0x64b8], 3
mov eax, dword [esp + 0x11c4]
cmp eax, edi
je 0x4de170
push eax
call fcn.004e68b2
add esp, 4
jmp 0x4de170
mov dword [esp + 0x14], 0x33
jmp 0x4de607
mov edx, dword [0x5ba750]
mov eax, edx
xor eax, dword [esp + 0x4c]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x4de580
cmp edx, 0xffff
jne 0x4de564
cmp dword [0x5ba754], edi
je 0x4de580
push 0x55ac02
mov ecx, 0x531158
call fcn.0043f440
mov dword [esp + 0x14], 3
jmp 0x4de607
cmp bl, 0x50
jne 0x4de5a0
cmp byte [0x5aa675], 0x4b
jne 0x4de5a0
cmp byte [0x5aa676], 5
jne 0x4de5a0
cmp byte [0x5aa677], 6
je 0x4de5c0
cmp byte [0x5bb824], cl
je 0x4de5b6
push 0x5aa674
call fcn.004dc710
test al, al
jne 0x4de5c0
mov dword [esp + 0x3c], 1
jmp 0x4de607
mov dword [esp + 0x3c], edi
jmp 0x4de607
mov dword [esp + 0x14], eax
jmp 0x4de607
lea ecx, [esp + 0x94]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x1a
mov dword [esp + 0x94], 0x55ac02
mov dword [esp + 0x98], 0x5ba794
mov dword [esp + 0xd4], esi
call fcn.0046b420
mov dword [esp + 0x18], 1
cmp byte [0x5bb81c], 0
mov ecx, dword [0x5ba6c8]
mov edx, dword [0x5ba6cc]
mov eax, dword [0x5ba68c]
mov dword [esp + 0x54], ecx
mov ecx, dword [0x5ba690]
mov dword [esp + 0x58], edx
mov edx, dword [0x5ba694]
mov dword [esp + 0x74], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
je 0x4de6d4
push 0x55ac02
mov dword [0x5bb820], edi
call fcn.00453750
mov esi, eax
cmp esi, edi
je 0x4de68a
push str..zipx
push esi
call fcn.0046c9a0
test eax, eax
je 0x4de683
push 3
push 0x50ad28
push esi
call fcn.0046c9d0
test eax, eax
jne 0x4de68a
mov eax, str.zx01
jmp 0x4de68f
mov eax, 0x502914
push 0x800
push eax
push 0x55ac02
call fcn.00453f50
mov ecx, dword [0x5ba6a8]
cmp ecx, edi
je 0x4de6b1
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [0x5ba6a8], edi
call fcn.004df200
cmp byte [0x555ad1], 0
push 0x55ac02
sete al
movzx ecx, al
push ecx
call fcn.0046b120
cmp dword [esp + 0x24], edi
mov dword [esp + 0x1c], edi
jle 0x4def62
mov eax, dword [esp + 0x40]
shl eax, 6
mov dword [esp + 0x28], eax
lea ecx, [ecx]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
add edx, eax
lea eax, [eax + eax*8]
mov dword [esp + 0x20], edx
lea edx, [ecx + eax*8]
lea ecx, [esp + 0x144]
mov dword [0x5aa67c], edx
call fcn.00469c00
cmp byte [0x5bb81c], 0
mov dword [esp + 0x78], eax
je 0x4de7d7
mov eax, dword [0x5aa67c]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x5bb820]
je 0x4de7d7
movzx ecx, word [0x5ba740]
cmp eax, ecx
jne 0x4de798
push 0x55ac02
call fcn.00453750
mov esi, eax
test esi, esi
je 0x4de781
push str..zipx
push esi
call fcn.0046c9a0
test eax, eax
je 0x4de77a
push 3
push 0x50ad28
push esi
call fcn.0046c9d0
test eax, eax
jne 0x4de781
mov eax, 0x50ad5c
jmp 0x4de786
mov eax, 0x502274
push 0x800
push eax
push 0x55ac02
call fcn.00453f50
jmp 0x4de7a8
push eax
push 0x800
push 0x55ac02
call fcn.004dd220
mov edx, dword [0x5aa67c]
mov ecx, dword [0x5ba6a8]
mov eax, dword [edx + 0x20]
mov dword [0x5bb820], eax
test ecx, ecx
je 0x4de7c8
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5ba6a8], 0
call fcn.004df200
mov eax, dword [0x5aa67c]
mov esi, dword [eax]
add esi, dword [0x5ba6d0]
mov edi, dword [eax + 4]
adc edi, dword [0x5ba6d4]
push 0
push 0x2000
push edi
push esi
mov dword [esp + 0x8c], esi
call fcn.004e7540
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4de8b7
jl 0x4de821
cmp dword [esp + 0x7c], 0
jae 0x4de8b7
push 0x55ac02
mov ecx, 0x531158
call fcn.0043f440
cmp dword [esp + 0x20], 0
mov dword [esp + 0x14], 2
jne 0x4de8aa
mov eax, dword [0x5ba6d0]
mov ecx, dword [0x5ba6d4]
mov edx, eax
or edx, ecx
je 0x4de8aa
mov dword [esp + 0x38], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x38], eax
mov eax, dword [0x5aa67c]
mov dword [0x5ba6d0], ecx
mov dword [0x5ba6d4], ecx
mov edi, dword [eax + 4]
mov esi, dword [eax]
push 0x2000
push edi
push esi
mov dword [esp + 0x8c], esi
call fcn.004e7540
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4de8b7
jl 0x4de89b
cmp dword [esp + 0x7c], 0
jae 0x4de8b7
push 0x55ac02
mov ecx, 0x531158
call fcn.0043f440
mov dword [esp + 0x14], 3
jmp 0x4def45
cmp eax, dword [0x5ba6c8]
jne 0x4de8f6
cmp esi, dword [0x5ba6cc]
jne 0x4de8f6
cmp byte [0x5bb81c], 0
jne 0x4de8f6
mov eax, dword [0x5ba68c]
mov ecx, dword [0x5ba688]
sub eax, ebx
sub eax, ecx
cdq
add dword [0x5ba690], eax
adc dword [0x5ba694], edx
add ebx, ecx
mov dword [0x5ba68c], ebx
jmp 0x4de974
mov ecx, dword [0x5ba6a8]
mov edx, dword [ecx]
push 0
push esi
push eax
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [0x5ba6a8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [0x5ba688]
push 0x2000
push ecx
mov dword [0x5ba6c8], eax
mov dword [0x5ba6cc], edx
call fcn.004df8a0
cdq
mov ecx, edx
mov esi, eax
mov dword [0x5ba690], esi
mov dword [0x5ba694], ecx
test ecx, ecx
jg 0x4de953
jl 0x4de89b
test esi, esi
jbe 0x4de89b
mov edx, dword [0x5ba688]
lea eax, [ebx + edx]
mov dword [0x5ba68c], eax
mov eax, ebx
cdq
sub esi, eax
sbb ecx, edx
mov dword [0x5ba690], esi
mov dword [0x5ba694], ecx
push 4
push 0x5aa674
call fcn.004dfa30
test eax, eax
je 0x4de89b
cmp byte [0x5aa674], 0x50
jne 0x4de9b0
cmp byte [0x5aa675], 0x4b
jne 0x4de9b0
cmp byte [0x5aa676], 3
jne 0x4de9b0
cmp byte [0x5aa677], 4
je 0x4dea64
push 0x55ac02
mov ecx, 0x531158
call fcn.0043f440
cmp dword [esp + 0x20], 0
mov eax, dword [0x5ba6d0]
mov ecx, dword [0x5ba6d4]
mov edi, 2
mov dword [esp + 0x14], edi
mov edx, eax
jne 0x4de9e2
or edx, ecx
jne 0x4dea02
jmp 0x4de9ea
or edx, ecx
jne 0x4def45
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov ebx, edx
or ebx, esi
je 0x4def45
mov ebx, eax
or ebx, ecx
je 0x4dea18
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x38], ecx
mov dword [0x5ba6d0], eax
mov dword [0x5ba6d4], eax
jmp 0x4dea24
mov dword [0x5ba6d0], edx
mov dword [0x5ba6d4], esi
mov eax, dword [0x5aa67c]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
call fcn.004df4e0
test eax, eax
jne 0x4de89b
push 4
push 0x5aa674
call fcn.004dfa30
test eax, eax
je 0x4de89b
push 0x5aa674
call fcn.004dc6b0
test al, al
jne 0x4dea68
jmp 0x4de89b
mov edi, dword [esp + 0x14]
call fcn.004e2650
mov esi, eax
test esi, esi
je 0x4dea8b
push 0x55ac02
mov ecx, 0x531158
call fcn.0043f440
mov dword [esp + 0x14], esi
jmp 0x4def45
movzx ecx, word [0x5ba700]
xor eax, eax
push eax
push 0x5ba6e2
push 2
push ecx
mov word [0x5ba794], ax
call fcn.004dfd60
test eax, eax
je 0x4dead1
cmp eax, edi
jle 0x4deab6
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jle 0x4dead1
push 0x5ba794
push 0x55ac02
push 0x1a
call fcn.0041be00
jmp 0x4def45
mov eax, dword [0x5ba6d8]
test eax, eax
je 0x4deaed
push eax
call fcn.004e68b2
add esp, 4
mov dword [0x5ba6d8], 0
movzx edx, word [0x5ba702]
push 0
push 0
push 3
push edx
call fcn.004dfd60
test eax, eax
je 0x4deb11
cmp eax, edi
jle 0x4deb0c
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x4deabb
movzx eax, word [0x5ba702]
mov ecx, dword [0x5ba6d8]
push 1
push eax
push ecx
call fcn.004e24c0
mov eax, dword [0x5bb794]
movzx ecx, word [0x5ba702]
push 0x3000
lea edx, [esp + 0x34a8]
push edx
push eax
mov eax, dword [0x5ba6d8]
push ecx
call fcn.004dc870
test al, al
je 0x4deb8a
push 0x800
push 0x5ba794
lea edx, [esp + 0x34ac]
push edx
call fcn.0046c800
push 0x800
push 0x5ba794
call fcn.004534d0
push 0x800
push 0x5ba794
push 0x5ba794
call fcn.00453050
mov eax, dword [0x5aa67c]
mov ecx, dword [eax + 0x28]
mov dword [0x5bb798], ecx
mov edx, dword [eax + 0x2c]
mov dword [0x5bb79c], edx
mov ecx, dword [eax + 0x30]
mov dword [0x5bb7a0], ecx
mov edx, dword [eax + 0x34]
mov dword [0x5bb7a4], edx
mov ecx, dword [eax + 0x38]
mov dword [0x5bb7a8], ecx
mov edx, dword [eax + 0x3c]
movzx eax, word [0x5ba702]
mov ecx, dword [0x5ba6d8]
push 0x5bb7a8
push 0x5bb7a0
push 0x5bb798
mov dword [0x5bb7ac], edx
call fcn.004dc740
movzx eax, word [0x5ba702]
mov ecx, dword [0x5ba6d8]
push 0x5ba6e4
call fcn.004dc920
mov eax, dword [esp + 0x78]
push 0x800
push eax
push 0x5ba794
call fcn.004694f0
mov eax, dword [0x5aa67c]
mov edx, dword [eax + 0x14]
lea ecx, [eax + 0x24]
push ecx
mov ecx, dword [eax + 0x10]
push edx
mov edx, dword [eax + 0x1c]
push ecx
push edx
push 0x5ba794
call fcn.004e67f0
cmp word [0x5ba794], 0
mov bl, al
je 0x4dec6c
cmp word [0x5ba796], 0
je 0x4dec6c
cmp word [0x5ba798], 0
mov eax, 0x5ba798
je 0x4dec6c
cmp word [eax], 0x3a
jne 0x4dec63
mov ecx, 0x5f
mov word [eax], cx
add eax, 2
cmp word [eax], 0
jne 0x4dec55
push 0x5ba794
push 0x5ba794
call fcn.004535b0
push 0x800
push 0x5ba794
push 0x54f7f0
call fcn.0046b210
mov cl, byte [0x555ad1]
test cl, cl
je 0x4deca7
cmp word [0x559be2], 0x49
je 0x4deca7
mov al, 1
jmp 0x4deca9
xor al, al
push 0
test cl, cl
push eax
sete dl
movzx eax, dl
push eax
push 0x5ba794
call fcn.0046b140
test al, al
je 0x4def62
movzx ecx, word [0x559be2]
push ecx
call fcn.0046cac0
cmp eax, 0x49
jne 0x4decf1
push 0x5ba794
push 0x55ac02
push 0x559be4
push 0
push 0
call fcn.00447550
cmp byte [0x555ad1], 0
jne 0x4deecb
test bl, bl
je 0x4dee1a
cmp byte [0x555947], 0
jne 0x4def45
cmp word [0x5ba794], 0
je 0x4def45
cmp dword [0x55594c], 1
je 0x4def45
mov ecx, dword [0x5aa67c]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x4ded42
cmp eax, 0xb
jne 0x4ded45
mov esi, dword [ecx + 0x24]
push 0x5ba794
call fcn.00445500
test al, al
jne 0x4dedb8
cmp byte [0x555aae], al
push esi
sete dl
movzx eax, dl
push eax
push 0x5ba794
call fcn.00445930
test eax, eax
je 0x4dedb8
push 1
push 0x5ba794
call fcn.004459f0
cmp byte [0x555aae], 0
push esi
sete cl
movzx edx, cl
push edx
push 0x5ba794
call fcn.00445930
test eax, eax
je 0x4dedb8
push 0x5ba794
push 0x55ac02
push 0x13
call fcn.0041be00
mov ecx, 0x531158
call fcn.0043f530
jmp 0x4def45
push 0x5ba794
lea ecx, [esp + 0xe8]
call fcn.00469920
mov eax, dword [0x5bb79c]
mov ecx, dword [0x5bb798]
push eax
push ecx
lea ecx, [esp + 0x8c]
call fcn.00401c20
mov edx, dword [0x5bb7ac]
mov eax, dword [0x5bb7a8]
push edx
push eax
lea ecx, [esp + 0x8c]
call fcn.00401c20
mov ecx, dword [0x5bb7a4]
mov edx, dword [0x5bb7a0]
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.00401c20
jmp 0x4def45
push 0x5ba794
call fcn.004dfc70
cmp eax, 0xffffffff
je 0x4def0f
xor esi, esi
cmp eax, esi
je 0x4def00
cmp eax, 1
jne 0x4deecb
mov eax, dword [0x555924]
cmp eax, 2
je 0x4def45
cmp byte [0x555948], 0
jne 0x4def45
cmp byte [0x555947], 0
jne 0x4def45
cmp eax, esi
je 0x4dee71
cmp eax, 3
jne 0x4deecb
movzx eax, word [0x5ba6e8]
movzx ecx, word [0x5ba6e6]
shl eax, 0x10
add eax, ecx
push eax
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
call fcn.0046ade0
mov eax, dword [0x5aa664]
mov ecx, dword [0x5aa660]
push esi
lea edx, [esp + 0x60]
push edx
push eax
push ecx
push 0x800
push 0x5ba794
push 0x54f7f0
call fcn.0046b260
cmp eax, 6
je 0x4def5a
cmp eax, 1
je 0x4def45
mov edx, dword [0x5aa67c]
test byte [edx + 0x40], 1
je 0x4def32
call fcn.004e35a0
test eax, eax
je 0x4def32
cmp eax, 9
je 0x4defd7
cmp eax, 1
jne 0x4def1a
push 0x5ba794
push 6
call fcn.004035c0
inc dword [esp + 0x2c]
jmp 0x4def45
mov eax, dword [0x555924]
cmp eax, 2
je 0x4def45
jmp 0x4dee68
cmp byte [0x555947], 0
jne 0x4def45
jmp 0x4deecb
cmp eax, dword [esp + 0x14]
jle 0x4def24
mov dword [esp + 0x14], eax
push 0x5ba794
push 6
call fcn.004035c0
jmp 0x4def45
call fcn.004dd8b0
test eax, eax
je 0x4def45
cmp eax, dword [esp + 0x14]
jle 0x4def45
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
jl 0x4de6f0
jmp 0x4def62
mov dword [esp + 0x18], 1
mov edx, dword [esp + 0x58]
mov ecx, dword [0x5ba6a8]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
xor edi, edi
push edi
push edx
mov edx, dword [esp + 0x5c]
push edx
call eax
mov ecx, dword [0x5ba6a8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [0x5ba688]
push 0x2000
push ecx
mov dword [0x5ba6c8], eax
mov dword [0x5ba6cc], edx
call fcn.004df8a0
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov esi, 1
add dword [esp + 0x40], esi
mov dword [0x5ba68c], edx
mov dword [0x5ba690], eax
mov dword [0x5ba694], ecx
cmp dword [esp + 0x18], edi
je 0x4de152
jmp 0x4defe0
push 2
call fcn.00402b80
xor edi, edi
push 0x800
lea edx, [esp + 0x24a8]
push edx
lea ecx, [esp + 0xec]
call fcn.00469b30
mov ebx, dword [esp + 0x84]
test al, al
je 0x4df075
lea esi, [ebx + 0x10]
jmp 0x4df010
mov eax, dword [esi - 0x10]
mov dword [esp + 0x5c], eax
mov ecx, dword [esi - 0xc]
mov dword [esp + 0x60], ecx
mov edx, dword [esi - 8]
mov dword [esp + 0x54], edx
mov eax, dword [esi - 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esi]
mov dword [esp + 0x44], ecx
mov edx, dword [esi + 4]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x4c], edx
push ecx
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x24b0]
push eax
call fcn.00445350
push 0x800
lea ecx, [esp + 0x24a8]
push ecx
lea ecx, [esp + 0xec]
add esi, 0x18
call fcn.00469b30
test al, al
jne 0x4df010
call fcn.0046b1e0
test al, al
jne 0x4df0a9
cmp dword [esp + 0x3c], edi
je 0x4df0a9
cmp byte [0x5bb81c], al
jne 0x4df0a9
push 0x55ac02
mov ecx, 0x531158
call fcn.0043f440
cmp dword [esp + 0x14], edi
jne 0x4df0a9
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x20]
movzx esi, word [esp + 0x2c]
inc eax
mov dword [esp + 0x20], eax
cmp eax, esi
jne 0x4df105
cmp word [0x559be2], 0x49
je 0x4df105
cmp dword [0x5bb7b0], edi
jne 0x4df105
lea ecx, [esp + 0x94]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x43
mov dword [esp + 0x94], 0x55ac02
mov dword [esp + 0xd4], 1
call fcn.0046b420
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
cmp eax, edi
jne 0x4df124
cmp ecx, 1
jg 0x4df124
xor dx, dx
cmp dx, word [esp + 0x30]
sbb ecx, ecx
and ecx, 0x46
add ecx, 0xb
jmp 0x4df157
cmp eax, esi
jne 0x4df134
cmp ecx, 1
jg 0x4df134
mov ecx, 0x52
jmp 0x4df157
cmp word [esp + 0x30], di
jbe 0x4df147
cmp ecx, 1
jg 0x4df147
mov ecx, 0x51
jmp 0x4df157
cmp word [esp + 0x2c], di
jbe 0x4df15b
cmp ecx, edi
jne 0x4df15b
mov ecx, 1
mov dword [esp + 0x14], ecx
mov byte [esp + 0x64b8], 2
mov eax, dword [esp + 0xe4]
cmp eax, edi
je 0x4df17b
push eax
call fcn.004e68b2
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [esp + 0x64b8], 1
cmp ebx, edi
je 0x4df194
push ebx
call fcn.004e68b2
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [esp + 0x64b8], 0
mov eax, dword [esp + 0x144]
cmp eax, edi
je 0x4df1b4
push eax
call fcn.004e68b2
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x64b8], 0xffffffff
cmp dword [esp + 0x64], edi
je 0x4df1d8
mov eax, dword [esp + 0x64]
push eax
call fcn.004e68b2
mov eax, dword [esp + 0x18]
add esp, 4
jmp 0x4df1da
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.004e6a64
mov esp, ebp
pop ebp
ret