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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5000c8
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x649c
call fcn.004e6b50
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.004dd390
mov dword [esp + 0x64b8], edi
lea ecx, [esp + 0x144]
call fcn.00469a70
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.00469a70
mov byte [esp + 0x64b8], 3
mov dword [0x5aa63c], 1
lea esi, [edi + 1]
call fcn.0046b340
test al, al
jne 0x4df030
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], esi
jmp 0x4de1c0
mov eax, dword [esp + 0x24]
cmp eax, 0x40
jl 0x4de1d6
cmp byte [0x5bb814], 0
je 0x4de65f
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jl 0x4de1fa
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x6c]
jbe 0x4de1f6
sub eax, ecx
push eax
lea ecx, [esp + 0x68]
call fcn.004dd390
jmp 0x4de1fa
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x1c]
push 4
add eax, ecx
push 0x5aa66c
mov dword [0x5aa674], eax
call fcn.004dfa80
test eax, eax
je 0x4de580
mov bl, byte [0x5aa66c]
cmp bl, 0x50
jne 0x4de58d
cmp byte [0x5aa66d], 0x4b
jne 0x4de58d
cmp byte [0x5aa66e], 1
jne 0x4de58d
cmp byte [0x5aa66f], 2
jne 0x4de58d
call fcn.004e2340
cmp eax, edi
jne 0x4de616
movzx eax, byte [0x5ba701]
movzx ecx, word [0x5ba720]
push eax
push 0x5ba704
mov esi, 2
push esi
xor edx, edx
push ecx
mov word [0x5ba78c], dx
call fcn.004dfdb0
mov ebx, dword [esp + 0x14]
cmp eax, edi
je 0x4de2a4
cmp eax, ebx
jle 0x4de29b
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp eax, 1
jg 0x4de61c
movzx edx, word [0x5ba722]
push edi
push edi
push 3
push edx
call fcn.004dfdb0
cmp eax, edi
je 0x4de2cc
cmp eax, ebx
jle 0x4de2c3
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp eax, 1
jg 0x4de61c
movzx eax, word [0x5ba722]
mov ecx, dword [0x5ba6d0]
push edi
push eax
push ecx
call fcn.004e2500
movzx eax, word [0x5ba722]
mov ecx, dword [0x5ba6d0]
push 0x5ba706
call fcn.004dc970
movzx edx, word [0x5ba724]
push edi
push edi
push edi
push edx
call fcn.004dfdb0
cmp eax, edi
je 0x4de31d
cmp eax, ebx
jle 0x4de314
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x4de61c
mov ecx, dword [0x5bb78c]
movzx edx, word [0x5ba722]
push 0x3000
lea eax, [esp + 0x34a8]
push eax
mov eax, dword [0x5ba6d0]
push ecx
push edx
call fcn.004dc8c0
test al, al
je 0x4de381
push 0x800
push 0x5ba78c
lea eax, [esp + 0x34ac]
push eax
call fcn.0046c960
push 0x800
push 0x5ba78c
call fcn.00453440
push 0x800
push 0x5ba78c
push 0x5ba78c
call fcn.00452fc0
movzx eax, word [0x5ba70a]
movzx ecx, word [0x5ba708]
shl eax, 0x10
or eax, ecx
mov ecx, dword [0x5aa674]
push eax
add ecx, 0x28
call fcn.0046af40
mov eax, dword [0x5aa674]
add eax, 0x30
mov dword [eax], edi
mov dword [eax + 4], edi
mov eax, dword [0x5aa674]
add eax, 0x38
mov dword [eax], edi
mov dword [eax + 4], edi
mov eax, dword [0x5aa674]
lea edx, [eax + 0x38]
lea ecx, [eax + 0x30]
push edx
push ecx
mov ecx, dword [0x5ba6d0]
add eax, 0x28
push eax
movzx eax, word [0x5ba722]
call fcn.004dc790
movzx eax, word [0x5ba722]
mov ecx, dword [0x5ba6d0]
call fcn.004dd330
mov bl, al
test bl, bl
je 0x4de433
lea ecx, [esp + 0x94]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x20
mov dword [esp + 0x94], 0x55abfa
mov dword [esp + 0x98], 0x5ba78c
mov dword [esp + 0xd4], esi
call fcn.0046b580
lea ecx, [esp + 0x1a4]
call fcn.0040cbe0
mov byte [esp + 0x64b8], 4
push 0x2300
lea edx, [esp + 0x1a8]
push edi
push edx
call fcn.004e7df0
add esp, 0xc
push 0x800
push 0x5ba78c
lea eax, [esp + 0x1cc]
push eax
call fcn.004694b0
lea ecx, [esp + 0x1c4]
push ecx
call fcn.00452b60
mov esi, eax
lea edx, [esp + 0x1c4]
cmp esi, edx
jbe 0x4de4a0
movzx eax, word [esi]
push eax
call fcn.00452bc0
test al, al
je 0x4de4a0
xor ecx, ecx
mov word [esi], cx
cmp dword [0x53e344], 1
mov eax, dword [0x5aa674]
mov edx, dword [eax + 0x28]
mov ecx, dword [0x5ba718]
mov dword [esp + 0x11d4], edx
mov eax, dword [eax + 0x2c]
mov edx, dword [0x5ba71c]
mov dword [esp + 0x11d8], eax
mov dword [esp + 0x11f4], ecx
mov dword [esp + 0x11f8], edx
mov eax, 5
je 0x4de4f7
cmp dword [0x555974], edi
jne 0x4de4f7
cmp byte [0x559bc4], 0
jne 0x4de4f7
mov eax, VariantCopy
test bl, bl
jne 0x4de54e
push edi
push edi
push eax
push edi
lea eax, [esp + 0x1b4]
push eax
mov ecx, 0x54f7e8
call fcn.00438b10
test eax, eax
je 0x4de54e
call fcn.004dd0b0
test eax, eax
je 0x4de543
push 0x5ba78c
lea ecx, [esp + 0x148]
call fcn.004698e0
mov eax, 1
add dword [esp + 0x24], eax
add dword [esp + 0x28], eax
add dword [esp + 0x1c], 0x48
jmp 0x4de553
mov eax, 1
add dword [esp + 0x30], eax
jmp 0x4de553
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 0x4de1c0
push eax
call fcn.004e7061
add esp, 4
jmp 0x4de1c0
mov dword [esp + 0x14], 0x33
jmp 0x4de657
mov edx, dword [0x5ba748]
mov eax, edx
xor eax, dword [esp + 0x4c]
xor ecx, ecx
and eax, 0xffff
or eax, ecx
je 0x4de5d0
cmp edx, 0xffff
jne 0x4de5b4
cmp dword [0x5ba74c], edi
je 0x4de5d0
push 0x55abfa
mov ecx, 0x531158
call fcn.0043f3c0
mov dword [esp + 0x14], 3
jmp 0x4de657
cmp bl, 0x50
jne 0x4de5f0
cmp byte [0x5aa66d], 0x4b
jne 0x4de5f0
cmp byte [0x5aa66e], 5
jne 0x4de5f0
cmp byte [0x5aa66f], 6
je 0x4de610
cmp byte [0x5bb81c], cl
je 0x4de606
push 0x5aa66c
call fcn.004dc760
test al, al
jne 0x4de610
mov dword [esp + 0x3c], 1
jmp 0x4de657
mov dword [esp + 0x3c], edi
jmp 0x4de657
mov dword [esp + 0x14], eax
jmp 0x4de657
lea ecx, [esp + 0x94]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x1a
mov dword [esp + 0x94], 0x55abfa
mov dword [esp + 0x98], 0x5ba78c
mov dword [esp + 0xd4], esi
call fcn.0046b580
mov dword [esp + 0x18], 1
cmp byte [0x5bb814], 0
mov ecx, dword [0x5ba6c0]
mov edx, dword [0x5ba6c4]
mov eax, dword [0x5ba684]
mov dword [esp + 0x54], ecx
mov ecx, dword [0x5ba688]
mov dword [esp + 0x58], edx
mov edx, dword [0x5ba68c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
je 0x4de724
push 0x55abfa
mov dword [0x5bb818], edi
call fcn.004536c0
mov esi, eax
cmp esi, edi
je 0x4de6da
push str..zipx
push esi
call fcn.0046cb00
test eax, eax
je 0x4de6d3
push 3
push 0x50ad10
push esi
call fcn.0046cb30
test eax, eax
jne 0x4de6da
mov eax, str.zx01
jmp 0x4de6df
mov eax, 0x502924
push 0x800
push eax
push 0x55abfa
call fcn.00453ec0
mov ecx, dword [0x5ba6a0]
cmp ecx, edi
je 0x4de701
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov dword [0x5ba6a0], edi
call fcn.004df250
cmp byte [0x555ac9], 0
push 0x55abfa
sete al
movzx ecx, al
push ecx
call fcn.0046b280
cmp dword [esp + 0x24], edi
mov dword [esp + 0x1c], edi
jle 0x4defb2
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 [0x5aa674], edx
call fcn.00469bc0
cmp byte [0x5bb814], 0
mov dword [esp + 0x78], eax
je 0x4de827
mov eax, dword [0x5aa674]
mov eax, dword [eax + 0x20]
cmp eax, dword [0x5bb818]
je 0x4de827
movzx ecx, word [0x5ba738]
cmp eax, ecx
jne 0x4de7e8
push 0x55abfa
call fcn.004536c0
mov esi, eax
test esi, esi
je 0x4de7d1
push str..zipx
push esi
call fcn.0046cb00
test eax, eax
je 0x4de7ca
push 3
push 0x50ad10
push esi
call fcn.0046cb30
test eax, eax
jne 0x4de7d1
mov eax, 0x50ad44
jmp 0x4de7d6
mov eax, 0x502284
push 0x800
push eax
push 0x55abfa
call fcn.00453ec0
jmp 0x4de7f8
push eax
push 0x800
push 0x55abfa
call fcn.004dd270
mov edx, dword [0x5aa674]
mov ecx, dword [0x5ba6a0]
mov eax, dword [edx + 0x20]
mov dword [0x5bb818], eax
test ecx, ecx
je 0x4de818
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5ba6a0], 0
call fcn.004df250
mov eax, dword [0x5aa674]
mov esi, dword [eax]
add esi, dword [0x5ba6c8]
mov edi, dword [eax + 4]
adc edi, dword [0x5ba6cc]
push 0
push 0x2000
push edi
push esi
mov dword [esp + 0x8c], esi
call fcn.004e9520
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4de907
jl 0x4de871
cmp dword [esp + 0x7c], 0
jae 0x4de907
push 0x55abfa
mov ecx, 0x531158
call fcn.0043f3c0
cmp dword [esp + 0x20], 0
mov dword [esp + 0x14], 2
jne 0x4de8fa
mov eax, dword [0x5ba6c8]
mov ecx, dword [0x5ba6cc]
mov edx, eax
or edx, ecx
je 0x4de8fa
mov dword [esp + 0x38], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x38], eax
mov eax, dword [0x5aa674]
mov dword [0x5ba6c8], ecx
mov dword [0x5ba6cc], ecx
mov edi, dword [eax + 4]
mov esi, dword [eax]
push 0x2000
push edi
push esi
mov dword [esp + 0x8c], esi
call fcn.004e9520
mov ebx, eax
mov eax, esi
sub eax, ebx
mov esi, edi
sbb esi, edx
test edi, edi
jg 0x4de907
jl 0x4de8eb
cmp dword [esp + 0x7c], 0
jae 0x4de907
push 0x55abfa
mov ecx, 0x531158
call fcn.0043f3c0
mov dword [esp + 0x14], 3
jmp 0x4def95
cmp eax, dword [0x5ba6c0]
jne 0x4de946
cmp esi, dword [0x5ba6c4]
jne 0x4de946
cmp byte [0x5bb814], 0
jne 0x4de946
mov eax, dword [0x5ba684]
mov ecx, dword [0x5ba680]
sub eax, ebx
sub eax, ecx
cdq
add dword [0x5ba688], eax
adc dword [0x5ba68c], edx
add ebx, ecx
mov dword [0x5ba684], ebx
jmp 0x4de9c4
mov ecx, dword [0x5ba6a0]
mov edx, dword [ecx]
push 0
push esi
push eax
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [0x5ba6a0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [0x5ba680]
push 0x2000
push ecx
mov dword [0x5ba6c0], eax
mov dword [0x5ba6c4], edx
call fcn.004df8f0
cdq
mov ecx, edx
mov esi, eax
mov dword [0x5ba688], esi
mov dword [0x5ba68c], ecx
test ecx, ecx
jg 0x4de9a3
jl 0x4de8eb
test esi, esi
jbe 0x4de8eb
mov edx, dword [0x5ba680]
lea eax, [ebx + edx]
mov dword [0x5ba684], eax
mov eax, ebx
cdq
sub esi, eax
sbb ecx, edx
mov dword [0x5ba688], esi
mov dword [0x5ba68c], ecx
push 4
push 0x5aa66c
call fcn.004dfa80
test eax, eax
je 0x4de8eb
cmp byte [0x5aa66c], 0x50
jne 0x4dea00
cmp byte [0x5aa66d], 0x4b
jne 0x4dea00
cmp byte [0x5aa66e], 3
jne 0x4dea00
cmp byte [0x5aa66f], 4
je 0x4deab4
push 0x55abfa
mov ecx, 0x531158
call fcn.0043f3c0
cmp dword [esp + 0x20], 0
mov eax, dword [0x5ba6c8]
mov ecx, dword [0x5ba6cc]
mov edi, 2
mov dword [esp + 0x14], edi
mov edx, eax
jne 0x4dea32
or edx, ecx
jne 0x4dea52
jmp 0x4dea3a
or edx, ecx
jne 0x4def95
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov ebx, edx
or ebx, esi
je 0x4def95
mov ebx, eax
or ebx, ecx
je 0x4dea68
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x38], ecx
mov dword [0x5ba6c8], eax
mov dword [0x5ba6cc], eax
jmp 0x4dea74
mov dword [0x5ba6c8], edx
mov dword [0x5ba6cc], esi
mov eax, dword [0x5aa674]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
call fcn.004df530
test eax, eax
jne 0x4de8eb
push 4
push 0x5aa66c
call fcn.004dfa80
test eax, eax
je 0x4de8eb
push 0x5aa66c
call fcn.004dc700
test al, al
jne 0x4deab8
jmp 0x4de8eb
mov edi, dword [esp + 0x14]
call fcn.004e2690
mov esi, eax
test esi, esi
je 0x4deadb
push 0x55abfa
mov ecx, 0x531158
call fcn.0043f3c0
mov dword [esp + 0x14], esi
jmp 0x4def95
movzx ecx, word [0x5ba6f8]
xor eax, eax
push eax
push 0x5ba6da
push 2
push ecx
mov word [0x5ba78c], ax
call fcn.004dfdb0
test eax, eax
je 0x4deb21
cmp eax, edi
jle 0x4deb06
mov edi, eax
mov dword [esp + 0x14], edi
cmp eax, 1
jle 0x4deb21
push 0x5ba78c
push 0x55abfa
push 0x1a
call fcn.0041bd00
jmp 0x4def95
mov eax, dword [0x5ba6d0]
test eax, eax
je 0x4deb3d
push eax
call fcn.004e7061
add esp, 4
mov dword [0x5ba6d0], 0
movzx edx, word [0x5ba6fa]
push 0
push 0
push 3
push edx
call fcn.004dfdb0
test eax, eax
je 0x4deb61
cmp eax, edi
jle 0x4deb5c
mov dword [esp + 0x14], eax
cmp eax, 1
jg 0x4deb0b
movzx eax, word [0x5ba6fa]
mov ecx, dword [0x5ba6d0]
push 1
push eax
push ecx
call fcn.004e2500
mov eax, dword [0x5bb78c]
movzx ecx, word [0x5ba6fa]
push 0x3000
lea edx, [esp + 0x34a8]
push edx
push eax
mov eax, dword [0x5ba6d0]
push ecx
call fcn.004dc8c0
test al, al
je 0x4debda
push 0x800
push 0x5ba78c
lea edx, [esp + 0x34ac]
push edx
call fcn.0046c960
push 0x800
push 0x5ba78c
call fcn.00453440
push 0x800
push 0x5ba78c
push 0x5ba78c
call fcn.00452fc0
mov eax, dword [0x5aa674]
mov ecx, dword [eax + 0x28]
mov dword [0x5bb790], ecx
mov edx, dword [eax + 0x2c]
mov dword [0x5bb794], edx
mov ecx, dword [eax + 0x30]
mov dword [0x5bb798], ecx
mov edx, dword [eax + 0x34]
mov dword [0x5bb79c], edx
mov ecx, dword [eax + 0x38]
mov dword [0x5bb7a0], ecx
mov edx, dword [eax + 0x3c]
movzx eax, word [0x5ba6fa]
mov ecx, dword [0x5ba6d0]
push 0x5bb7a0
push 0x5bb798
push 0x5bb790
mov dword [0x5bb7a4], edx
call fcn.004dc790
movzx eax, word [0x5ba6fa]
mov ecx, dword [0x5ba6d0]
push 0x5ba6dc
call fcn.004dc970
mov eax, dword [esp + 0x78]
push 0x800
push eax
push 0x5ba78c
call fcn.004694b0
mov eax, dword [0x5aa674]
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 0x5ba78c
call fcn.004e6830
cmp word [0x5ba78c], 0
mov bl, al
je 0x4decbc
cmp word [0x5ba78e], 0
je 0x4decbc
cmp word [0x5ba790], 0
mov eax, 0x5ba790
je 0x4decbc
cmp word [eax], 0x3a
jne 0x4decb3
mov ecx, 0x5f
mov word [eax], cx
add eax, 2
cmp word [eax], 0
jne 0x4deca5
push 0x5ba78c
push 0x5ba78c
call fcn.00453520
push 0x800
push 0x5ba78c
push 0x54f7e8
call fcn.0046b370
mov cl, byte [0x555ac9]
test cl, cl
je 0x4decf7
cmp word [0x559bda], 0x49
je 0x4decf7
mov al, 1
jmp 0x4decf9
xor al, al
push 0
test cl, cl
push eax
sete dl
movzx eax, dl
push eax
push 0x5ba78c
call fcn.0046b2a0
test al, al
je 0x4defb2
movzx ecx, word [0x559bda]
push ecx
call sub.USER32.dll_CharUpperW
cmp eax, 0x49
jne 0x4ded41
push 0x5ba78c
push 0x55abfa
push 0x559bdc
push 0
push 0
call fcn.004474c0
cmp byte [0x555ac9], 0
jne 0x4def1b
test bl, bl
je 0x4dee6a
cmp byte [0x55593f], 0
jne 0x4def95
cmp word [0x5ba78c], 0
je 0x4def95
cmp dword [0x555944], 1
je 0x4def95
mov ecx, dword [0x5aa674]
mov eax, dword [ecx + 0x1c]
xor esi, esi
test eax, eax
je 0x4ded92
cmp eax, 0xb
jne 0x4ded95
mov esi, dword [ecx + 0x24]
push 0x5ba78c
call fcn.00445470
test al, al
jne 0x4dee08
cmp byte [0x555aa6], al
push esi
sete dl
movzx eax, dl
push eax
push 0x5ba78c
call fcn.004458a0
test eax, eax
je 0x4dee08
push 1
push 0x5ba78c
call fcn.00445960
cmp byte [0x555aa6], 0
push esi
sete cl
movzx edx, cl
push edx
push 0x5ba78c
call fcn.004458a0
test eax, eax
je 0x4dee08
push 0x5ba78c
push 0x55abfa
push 0x13
call fcn.0041bd00
mov ecx, 0x531158
call fcn.0043f4b0
jmp 0x4def95
push 0x5ba78c
lea ecx, [esp + 0xe8]
call fcn.004698e0
mov eax, dword [0x5bb794]
mov ecx, dword [0x5bb790]
push eax
push ecx
lea ecx, [esp + 0x8c]
call fcn.00436bf0
mov edx, dword [0x5bb7a4]
mov eax, dword [0x5bb7a0]
push edx
push eax
lea ecx, [esp + 0x8c]
call fcn.00436bf0
mov ecx, dword [0x5bb79c]
mov edx, dword [0x5bb798]
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.00436bf0
jmp 0x4def95
push 0x5ba78c
call fcn.004dfcc0
cmp eax, 0xffffffff
je 0x4def5f
xor esi, esi
cmp eax, esi
je 0x4def50
cmp eax, 1
jne 0x4def1b
mov eax, dword [0x55591c]
cmp eax, 2
je 0x4def95
cmp byte [0x555940], 0
jne 0x4def95
cmp byte [0x55593f], 0
jne 0x4def95
cmp eax, esi
je 0x4deec1
cmp eax, 3
jne 0x4def1b
movzx eax, word [0x5ba6e0]
movzx ecx, word [0x5ba6de]
shl eax, 0x10
add eax, ecx
push eax
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
call fcn.0046af40
mov eax, dword [0x5aa65c]
mov ecx, dword [0x5aa658]
push esi
lea edx, [esp + 0x60]
push edx
push eax
push ecx
push 0x800
push 0x5ba78c
push 0x54f7e8
call fcn.0046b3c0
cmp eax, 6
je 0x4defaa
cmp eax, 1
je 0x4def95
mov edx, dword [0x5aa674]
test byte [edx + 0x40], 1
je 0x4def82
call fcn.004e35e0
test eax, eax
je 0x4def82
cmp eax, 9
je 0x4df027
cmp eax, 1
jne 0x4def6a
push 0x5ba78c
push 6
call fcn.00402410
inc dword [esp + 0x2c]
jmp 0x4def95
mov eax, dword [0x55591c]
cmp eax, 2
je 0x4def95
jmp 0x4deeb8
cmp byte [0x55593f], 0
jne 0x4def95
jmp 0x4def1b
cmp eax, dword [esp + 0x14]
jle 0x4def74
mov dword [esp + 0x14], eax
push 0x5ba78c
push 6
call fcn.00402410
jmp 0x4def95
call fcn.004dd900
test eax, eax
je 0x4def95
cmp eax, dword [esp + 0x14]
jle 0x4def95
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
jl 0x4de740
jmp 0x4defb2
mov dword [esp + 0x18], 1
mov edx, dword [esp + 0x58]
mov ecx, dword [0x5ba6a0]
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 [0x5ba6a0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [0x5ba680]
push 0x2000
push ecx
mov dword [0x5ba6c0], eax
mov dword [0x5ba6c4], edx
call fcn.004df8f0
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 [0x5ba684], edx
mov dword [0x5ba688], eax
mov dword [0x5ba68c], ecx
cmp dword [esp + 0x18], edi
je 0x4de1a2
jmp 0x4df030
push 2
call fcn.00401930
xor edi, edi
push 0x800
lea edx, [esp + 0x24a8]
push edx
lea ecx, [esp + 0xec]
call fcn.00469af0
mov ebx, dword [esp + 0x84]
test al, al
je 0x4df0c5
lea esi, [ebx + 0x10]
jmp 0x4df060
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.004452c0
push 0x800
lea ecx, [esp + 0x24a8]
push ecx
lea ecx, [esp + 0xec]
add esi, 0x18
call fcn.00469af0
test al, al
jne 0x4df060
call fcn.0046b340
test al, al
jne 0x4df0f9
cmp dword [esp + 0x3c], edi
je 0x4df0f9
cmp byte [0x5bb814], al
jne 0x4df0f9
push 0x55abfa
mov ecx, 0x531158
call fcn.0043f3c0
cmp dword [esp + 0x14], edi
jne 0x4df0f9
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 0x4df155
cmp word [0x559bda], 0x49
je 0x4df155
cmp dword [0x5bb7a8], edi
jne 0x4df155
lea ecx, [esp + 0x94]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], 0x43
mov dword [esp + 0x94], 0x55abfa
mov dword [esp + 0xd4], 1
call fcn.0046b580
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
cmp eax, edi
jne 0x4df174
cmp ecx, 1
jg 0x4df174
xor dx, dx
cmp dx, word [esp + 0x30]
sbb ecx, ecx
and ecx, 0x46
add ecx, 0xb
jmp 0x4df1a7
cmp eax, esi
jne 0x4df184
cmp ecx, 1
jg 0x4df184
mov ecx, 0x52
jmp 0x4df1a7
cmp word [esp + 0x30], di
jbe 0x4df197
cmp ecx, 1
jg 0x4df197
mov ecx, 0x51
jmp 0x4df1a7
cmp word [esp + 0x2c], di
jbe 0x4df1ab
cmp ecx, edi
jne 0x4df1ab
mov ecx, 1
mov dword [esp + 0x14], ecx
mov byte [esp + 0x64b8], 2
mov eax, dword [esp + 0xe4]
cmp eax, edi
je 0x4df1cb
push eax
call fcn.004e7061
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [esp + 0x64b8], 1
cmp ebx, edi
je 0x4df1e4
push ebx
call fcn.004e7061
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [esp + 0x64b8], 0
mov eax, dword [esp + 0x144]
cmp eax, edi
je 0x4df204
push eax
call fcn.004e7061
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x64b8], 0xffffffff
cmp dword [esp + 0x64], edi
je 0x4df228
mov eax, dword [esp + 0x64]
push eax
call fcn.004e7061
mov eax, dword [esp + 0x18]
add esp, 4
jmp 0x4df22a
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.004e6b3a
mov esp, ebp
pop ebp
ret