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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xd0]
cmp eax, dword [ecx + 8]
jbe 0x4f0481
sub esp, 0x150
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
jne 0x4f038a
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x74]
test edx, edx
jne 0x4f035f
movzx ecx, byte [eax + 0x50]
test cl, cl
jne 0x4f02bb
mov dword [esp], eax
call fcn.004f07a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4f0283
cmp al, 0x3c
jne 0x4f019d
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4f0165
mov ecx, dword [esp + 0x154]
lea edx, [ecx + 0x78]
mov dword [esp + 0xb0], edx
cmp al, 0x21
je 0x4ef895
cmp al, 0x2f
je 0x4ef59c
cmp al, 0x3f
je 0x4eecb7
nop
cmp al, 0xa
jne 0x4ee4db
dec dword [ecx + 0x7c]
movzx eax, al
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x80]
add eax, 0xffffffff
mov edx, dword [ecx + 0x84]
mov dword [ecx + 0x80], eax
adc edx, 0xffffffff
mov dword [ecx + 0x84], edx
mov dword [esp], ecx
call fcn.004f1970
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
movzx ebp, byte [esp + 0x14]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4eec04
mov dword [esp + 0x6c], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x68], ebx
xor ebp, ebp
lea esi, [0x98ed6c]
xor edi, edi
jmp 0x4ee54e
mov esi, ebp
mov edi, ebx
mov ebp, edx
mov dword [esp + 0x58], ebp
mov dword [esp + 0xa4], esi
mov dword [esp + 0x5c], edi
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f0710
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4eebcc
cmp al, 0x2f
je 0x4eeac3
cmp al, 0x3e
je 0x4ee9a0
nop
cmp al, 0xa
jne 0x4ee994
mov ecx, dword [esp + 0x154]
dec dword [ecx + 0x7c]
movzx edx, al
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x80]
add edx, 0xffffffff
mov ebx, dword [ecx + 0x84]
mov dword [ecx + 0x80], edx
adc ebx, 0xffffffff
mov dword [ecx + 0x84], ebx
lea edi, [esp + 0xf0]
xor eax, eax
call fcn.0045057a
mov ecx, dword [esp + 0x154]
mov dword [esp], ecx
call fcn.004f1970
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 4]
movzx esi, byte [esp + 0x14]
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4ee8e1
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f0710
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4ee8a9
cmp al, 0x3d
je 0x4ee81d
mov ecx, dword [esp + 0x154]
movzx edx, byte [ecx]
test dl, dl
jne 0x4ee77f
nop
cmp al, 0xa
jne 0x4ee683
dec dword [ecx + 0x7c]
movzx eax, al
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x80]
add eax, 0xffffffff
mov edx, dword [ecx + 0x84]
mov dword [ecx + 0x80], eax
adc edx, 0xffffffff
mov dword [ecx + 0x84], edx
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x58]
lea edx, [eax + 1]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
ja 0x4ee73b
mov ebp, dword [esp + 0xa4]
lea eax, [eax + eax*2]
lea edi, [ebp + eax*8]
mov eax, dword [0x98ef80]
test eax, eax
jne 0x4ee6fb
lea esi, [esp + 0xf0]
call fcn.00450a54
jmp 0x4ee548
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebx
lea eax, [0x67dc80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
call fcn.00410180
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x9c]
jmp 0x4ee548
lea ecx, [0x67dc80]
mov dword [esp], ecx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043bd10
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x154]
jmp 0x4ee6d9
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x23
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ee80c
lea ecx, [0x6c549f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4ee7fe
mov dword [ecx + 0x78], eax
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4ee7cd
mov edi, eax
lea eax, [0x6c549f]
call fcn.004502f0
mov eax, edi
jmp 0x4ee7aa
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f0710
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f0490
mov eax, dword [esp + 4]
test eax, eax
je 0x4ee871
mov dword [esp], 0
call fcn.0043f130
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x154]
jmp 0x4ee6c3
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x4ee920
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x22
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ee983
lea ecx, [0x6c4f48]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4ee975
mov dword [ecx + 0x78], eax
mov eax, ecx
jmp 0x4ee8ef
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4ee96e
mov edi, eax
lea eax, [0x6c4f48]
call fcn.004502f0
mov eax, edi
jmp 0x4ee94b
mov ecx, dword [esp + 0x154]
jmp 0x4ee5b3
xor eax, eax
test al, al
je 0x4eeaa8
mov ecx, dword [esp + 0x154]
mov byte [ecx + 0x50], 1
mov edx, dword [esp + 0x68]
mov dword [ecx + 0x58], edx
mov ebx, dword [esp + 0x6c]
mov dword [ecx + 0x60], ebx
mov ebp, dword [0x98ef80]
test ebp, ebp
jne 0x4eea7f
mov ebp, dword [esp + 0xa8]
mov dword [ecx + 0x54], ebp
mov esi, dword [esp + 0xac]
mov dword [ecx + 0x5c], esi
lea edi, [esp + 0x108]
xor eax, eax
call fcn.00450579
mov dword [esp + 0x108], ebp
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], ebx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x120], ecx
lea ecx, [0x691840]
mov dword [esp], ecx
lea ecx, [esp + 0x108]
mov dword [esp + 4], ecx
call fcn.00407b50
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
lea edi, [ecx + 0x54]
mov eax, dword [esp + 0xa8]
call fcn.004502f0
lea edi, [ecx + 0x5c]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.004502f0
mov ebp, ecx
mov esi, eax
jmp 0x4ee9e5
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xac]
jmp 0x4ee9e5
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 5]
movzx ecx, byte [esp + 4]
cmp cl, 0x3e
test al, al
je 0x4eeb94
cmp cl, 0x3e
jne 0x4eeaf6
mov eax, 1
jmp 0x4ee9a2
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x16
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4eeb83
lea ecx, [0x6bff77]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4eeb75
mov dword [ecx + 0x78], eax
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4eeb44
mov edi, eax
lea eax, [0x6bff77]
call fcn.004502f0
mov eax, edi
jmp 0x4eeb21
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x4eec43
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1d
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4eeca6
lea ecx, [0x6c2d8d]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4eec98
mov dword [ecx + 0x78], eax
mov eax, ecx
jmp 0x4eec12
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4eec91
mov edi, eax
lea eax, [0x6c2d8d]
call fcn.004502f0
mov eax, edi
jmp 0x4eec6e
mov dword [esp], ecx
call fcn.004f1a60
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test al, al
je 0x4ef4e9
mov dword [esp + 0x70], ecx
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f0710
mov eax, dword [esp + 0x154]
mov dword [eax + 0x34], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x40], 0
lea ecx, [eax + 0x30]
mov dword [esp + 0x8c], ecx
xor edx, edx
jmp 0x4eed1b
mov eax, dword [esp + 0x154]
mov edx, ebx
mov byte [esp + 0x27], dl
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4ef4b1
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.004ca990
movzx eax, byte [esp + 0x27]
cmp al, 0x3f
jne 0x4ef4a7
movzx ebx, byte [esp + 0x2b]
cmp bl, 0x3e
jne 0x4eed12
nop
mov ebx, dword [esp + 0x154]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x34]
mov ebp, dword [ebx + 0x30]
mov edx, dword [ebx + 0x38]
cmp eax, ecx
ja 0x4f047b
sub ecx, eax
add ecx, 0xfffffffe
sub edx, eax
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
add ebp, eax
cmp ecx, esi
ja 0x4f0474
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x2c]
cmp edx, 3
jne 0x4ef49e
mov ebx, dword [esp + 0x70]
cmp word [ebx], 0x6d78
jne 0x4eedc0
cmp byte [ebx + 2], 0x6c
je 0x4eee41
lea edi, [esp + 0xdc]
xor eax, eax
call fcn.0045057b
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], ebp
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], esi
lea ecx, [0x68aba0]
mov dword [esp], ecx
lea ecx, [esp + 0xdc]
mov dword [esp + 4], ecx
call fcn.00407b50
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov dword [esp + 0x6c], esi
mov dword [esp + 0x84], ebp
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call fcn.0043f130
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], ecx
lea edx, [0x6b7e7a]
mov dword [esp], edx
mov dword [esp + 4], 7
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.004f1f90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4eeeb7
cmp ecx, 3
je 0x4ef487
mov edx, 1
test dl, dl
jne 0x4ef3be
lea eax, [0x6b847b]
mov dword [esp], eax
mov dword [esp + 4], 8
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
call fcn.004f1f90
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
test eax, eax
je 0x4ef3b7
cmp eax, 5
je 0x4ef39f
mov edx, 1
test dl, dl
je 0x4ef398
cmp eax, 5
je 0x4ef380
mov edx, 1
test dl, dl
jne 0x4ef34a
xor edx, edx
test dl, dl
je 0x4eeff9
mov edx, dword [esp + 0x154]
mov ebx, dword [edx + 0x14]
test ebx, ebx
je 0x4ef281
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
lea ebx, [0x672800]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00407fc0
mov eax, dword [esp + 0x154]
mov edx, dword [eax + 0x14]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
mov esi, dword [esp + 0x48]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [edx]
call ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
test eax, eax
jne 0x4ef170
test ecx, ecx
je 0x4f0419
mov dword [esp + 0x30], ecx
mov dword [esp + 0x74], edx
nop
lea eax, [0x6726e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004080a0
mov eax, dword [esp + 0x154]
lea edi, [eax + 0x24]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test cl, cl
je 0x4ef01e
mov dword [eax + 0x20], edx
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ef015
mov dword [eax + 0x24], ebx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x6c]
jmp 0x4eedc0
mov eax, ebx
call fcn.004502f0
jmp 0x4eeff9
lea ecx, [0x71d9c0]
mov edx, dword [esp + 0x30]
cmp ecx, edx
jne 0x4ef166
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xb0], edi
jne 0x4ef067
cmp dword [ecx + 4], 0x1000
jl 0x4ef067
lea edx, [0x71d9a0]
mov dword [eax + 0x20], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4ef05e
mov dword [eax + 0x24], ecx
jmp 0x4eeff9
mov eax, ecx
call fcn.004502f0
jmp 0x4eeff9
lea eax, [0x6997c0]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
lea ecx, [0x6692a0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.0043bc50
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
lea edi, [esp + 0x124]
xor eax, eax
call fcn.00450575
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], 0x1000
mov dword [esp + 0x12c], 0x1000
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x148], 0xffffffff
mov dword [esp + 0x14c], 0xffffffff
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ef13e
mov edi, dword [esp + 0x98]
lea esi, [esp + 0x124]
call fcn.00450a22
mov eax, dword [esp + 0x154]
mov edi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x98]
jmp 0x4ef046
lea eax, [0x6997c0]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
lea ecx, [esp + 0x124]
mov dword [esp + 8], ecx
call fcn.00410180
xor eax, eax
jmp 0x4ef124
mov ecx, 0
jmp 0x4ef034
mov dword [esp + 0x44], eax
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call fcn.00407cf0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4ef19e
mov ecx, dword [ecx + 4]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
lea edx, [0x6690a0]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc8], eax
lea eax, [0x6c2529]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
lea eax, [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a6560
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x74], eax
mov eax, dword [0x98ef80]
test eax, eax
jne 0x4ef271
mov dword [edx + 0x78], ecx
mov eax, dword [edx + 0x74]
mov ecx, dword [edx + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
mov eax, ecx
call fcn.004502f0
jmp 0x4ef240
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407cf0
mov eax, dword [esp + 8]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
lea ecx, [0x6690a0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
lea eax, [0x6cb7ad]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea eax, [esp + 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a6560
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x74], ecx
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ef33c
mov dword [edx + 0x78], eax
mov eax, dword [edx + 0x78]
mov ecx, dword [edx + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4ef30b
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6b5e26]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
call fcn.004b5ed0
movzx edx, byte [esp + 0x10]
xor edx, 1
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x80]
jmp 0x4eef29
cmp dword [ecx], 0x2d465455
jne 0x4eef1a
cmp byte [ecx + 4], 0x38
setne dl
jmp 0x4eef1f
xor edx, edx
jmp 0x4eef29
cmp dword [ecx], 0x2d667475
jne 0x4eef04
cmp byte [ecx + 4], 0x38
setne dl
jmp 0x4eef09
xor edx, edx
jmp 0x4eef29
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407cf0
mov eax, dword [esp + 8]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
lea ecx, [0x6690a0]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
lea eax, [0x6cb7e7]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea eax, [esp + 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a6560
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x74], ecx
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ef479
mov dword [edx + 0x78], eax
mov eax, dword [edx + 0x78]
mov ecx, dword [edx + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4ef448
cmp word [eax], 0x2e31
jne 0x4eeeaa
cmp byte [eax + 2], 0x30
setne dl
jmp 0x4eeeaf
mov ebx, dword [esp + 0x70]
jmp 0x4eedc0
movzx ebx, byte [esp + 0x2b]
jmp 0x4eed12
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x4ef528
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1d
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ef58b
lea ecx, [0x6c2daa]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4ef57d
mov dword [ecx + 0x78], eax
mov eax, ecx
jmp 0x4ef4f7
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4ef576
mov edi, eax
lea eax, [0x6c2daa]
call fcn.004502f0
mov eax, edi
jmp 0x4ef553
mov dword [esp], ecx
call fcn.004f1970
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 4]
test al, al
jne 0x4ef674
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x4ef600
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1e
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ef663
lea ecx, [0x6c3537]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4ef655
mov dword [ecx + 0x78], eax
mov eax, ecx
jmp 0x4ef5cf
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4ef64e
mov edi, eax
lea eax, [0x6c3537]
call fcn.004502f0
mov eax, edi
jmp 0x4ef62b
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0xa8], ebp
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f0710
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 5]
movzx ecx, byte [esp + 4]
cmp cl, 0x3e
test al, al
je 0x4ef85d
cmp cl, 0x3e
je 0x4ef7b3
mov dword [esp], 0
lea eax, [0x6c2e92]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1d
mov eax, dword [esp + 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
lea eax, [0x6b5edd]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 6
call fcn.0043f010
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], ecx
lea edx, [0x67dd40]
mov dword [esp], edx
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ef7a4
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4ef796
mov dword [ecx + 0x78], eax
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4ef765
mov edi, eax
mov eax, dword [esp + 0x78]
call fcn.004502f0
mov eax, edi
jmp 0x4ef742
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xd8], eax
lea eax, [0x675fe0]
mov dword [esp], eax
lea eax, [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.00407b50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov dword [esp], ecx
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4f012d
cmp al, 0x2d
je 0x4efe41
cmp al, 0x5b
jne 0x4efa90
xor eax, eax
jmp 0x4ef8c8
lea eax, [edx + 1]
cmp eax, 6
jge 0x4ef9e7
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4ef9af
mov edx, dword [esp + 0x3c]
cmp edx, 6
jae 0x4f0401
lea ecx, [0x6b5fbb]
movzx ebx, byte [ecx + edx]
cmp bl, al
je 0x4ef8c5
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x14
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4ef99e
lea ecx, [0x6bf273]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4ef990
mov dword [ecx + 0x78], eax
mov eax, dword [ecx + 0x74]
mov ecx, dword [ecx + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4ef95f
mov edi, eax
lea eax, [0x6bf273]
call fcn.004502f0
mov eax, edi
jmp 0x4ef93c
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
mov byte [esp + 8], 1
call fcn.004f09b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
je 0x4efa58
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00407d70
mov eax, dword [esp + 0xc]
lea ecx, [0x671680]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov ecx, dword [esp + 0x154]
mov dword [ecx + 0x34], 0
mov dword [ecx + 0x3c], 0
mov byte [ecx + 0x40], 0
lea edx, [ecx + 0x30]
mov dword [esp + 0x90], edx
mov dword [esp], edx
mov byte [esp + 4], al
call fcn.004ca990
xor eax, eax
xor ecx, ecx
jmp 0x4efc88
lea ecx, [ebx + 1]
movzx eax, byte [esp + 0x24]
cmp ecx, 3
jge 0x4efc10
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4efbd8
mov ebx, dword [esp + 0x40]
cmp ebx, 3
jae 0x4f03f5
lea ebp, [0x6b4806]
movzx esi, byte [ebp + ebx]
xchg esi, ebx
cmp bl, al
xchg esi, ebx
je 0x4efac8
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0x90]
xor ecx, ecx
jmp 0x4efb63
mov dword [esp + 0x38], ecx
movzx eax, byte [ebp + ecx]
mov dword [esp], edx
mov byte [esp + 4], al
call fcn.004ca990
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x90]
movzx eax, byte [esp + 0x2a]
mov ebx, dword [esp + 0x40]
lea ebp, [0x6b4806]
cmp ecx, ebx
jge 0x4efb71
cmp ecx, 3
jb 0x4efb2d
jmp 0x4f03e9
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + 1]
mov byte [esp + 0x2b], al
mov dword [esp + 0x4c], ebx
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.004ca990
movzx eax, byte [esp + 0x24]
movzx ecx, byte [esp + 0x2b]
cmp al, cl
je 0x4efd7d
test al, al
jne 0x4efd74
cmp cl, 0x27
je 0x4efd69
cmp cl, 0x22
je 0x4efd69
cmp cl, 0x3e
je 0x4efd5d
cmp cl, 0x3c
jne 0x4efd54
xor ecx, ecx
jmp 0x4efad0
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov ebx, dword [esp + 0x154]
mov ebp, dword [ebx + 0x34]
sub ebp, dword [ebx + 0x3c]
cmp ebp, 1
jne 0x4efd1a
nop
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x3c], 0
mov byte [ebx + 0x40], 0
xor ecx, ecx
xor edx, edx
jmp 0x4efc48
mov ebx, dword [esp + 0x154]
mov edx, eax
mov byte [esp + 0x26], dl
mov byte [esp + 0x28], cl
mov dword [esp], ebx
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4efce2
movzx ecx, byte [esp + 0x28]
cmp cl, 0x2d
jne 0x4efcd8
movzx ecx, byte [esp + 0x26]
cmp cl, 0x2d
jne 0x4efc3f
cmp al, 0x3e
jne 0x4efc3f
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x4c], ecx
mov byte [esp + 0x24], al
mov edx, dword [esp + 0x154]
mov dword [esp], edx
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4efe09
movzx edx, byte [esp + 0x24]
test dl, dl
jne 0x4efe00
cmp al, 0x3e
jne 0x4efdf7
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x4efb78
jmp 0x4efd88
movzx ecx, byte [esp + 0x26]
jmp 0x4efc3f
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov byte [ebx + 0x40], 0
lea esi, [ebp - 1]
test esi, esi
jl 0x4f03d1
mov edx, dword [ebx + 0x38]
mov edi, dword [ebx + 0x3c]
mov ecx, eax
mov eax, dword [ebx + 0x34]
sub eax, edi
cmp esi, eax
jg 0x4f03d1
lea eax, [ebp + edi - 1]
cmp eax, edx
ja 0x4f03ca
mov dword [ebx + 0x34], eax
mov eax, ecx
jmp 0x4efc39
mov ecx, dword [esp + 0x4c]
jmp 0x4efc88
mov edx, dword [esp + 0x4c]
lea ecx, [edx - 1]
jmp 0x4efc88
mov eax, ecx
mov ecx, dword [esp + 0x4c]
jmp 0x4efc88
mov ecx, dword [esp + 0x4c]
jmp 0x4efc88
xor eax, eax
mov ecx, dword [esp + 0x4c]
jmp 0x4efc88
mov edx, dword [esp + 0x154]
mov eax, dword [edx + 0x3c]
mov ecx, dword [edx + 0x34]
mov ebx, dword [edx + 0x30]
mov edx, dword [edx + 0x38]
cmp eax, ecx
ja 0x4f03c5
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, eax
add edx, ebx
mov dword [esp], edx
sub ecx, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00407d70
mov eax, dword [esp + 0xc]
lea ecx, [0x671740]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov ebx, dword [esp + 0x4c]
jmp 0x4efb78
mov ebx, dword [esp + 0x4c]
jmp 0x4efb78
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 5]
movzx ecx, byte [esp + 4]
cmp cl, 0x2d
test al, al
je 0x4f00f5
cmp cl, 0x2d
jne 0x4f0057
mov eax, dword [esp + 0x154]
mov dword [eax + 0x34], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x40], 0
lea ecx, [eax + 0x30]
mov dword [esp + 0x94], ecx
xor edx, edx
xor ebx, ebx
jmp 0x4efea5
mov eax, dword [esp + 0x154]
mov edx, ebx
movzx ebx, byte [esp + 0x2b]
mov byte [esp + 0x25], bl
mov byte [esp + 0x29], dl
mov dword [esp], eax
call fcn.004f08a0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 5]
test cl, cl
je 0x4f001f
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.004ca990
movzx eax, byte [esp + 0x29]
cmp al, 0x2d
jne 0x4f0015
movzx ebx, byte [esp + 0x25]
cmp bl, 0x2d
jne 0x4efe97
movzx ebx, byte [esp + 0x2b]
cmp bl, 0x3e
jne 0x4eff77
nop
mov ebx, dword [esp + 0x154]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x34]
mov ebp, dword [ebx + 0x30]
mov edx, dword [ebx + 0x38]
cmp eax, ecx
ja 0x4f0414
sub ecx, eax
add ecx, 0xfffffffd
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebp
cmp ecx, ebx
ja 0x4f040d
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00407d70
mov eax, dword [esp + 0xc]
lea ecx, [0x6716e0]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2d
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4f0004
lea ecx, [0x6c871f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4efff6
mov dword [ecx + 0x78], eax
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4effc5
mov edi, eax
lea eax, [0x6c871f]
call fcn.004502f0
mov eax, edi
jmp 0x4effa2
movzx ebx, byte [esp + 0x25]
jmp 0x4efe97
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
lea eax, [0x67dd40]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x25
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4f00e4
lea ecx, [0x6c615a]
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x71db00]
mov dword [ecx + 0x74], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4f00d6
mov dword [ecx + 0x78], eax
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov edi, dword [esp + 0xb0]
call fcn.004502f0
jmp 0x4f00a5
mov edi, eax
lea eax, [0x6c615a]
call fcn.004502f0
mov eax, edi
jmp 0x4f0082
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
nop
cmp al, 0xa
jne 0x4f0277
mov ecx, dword [esp + 0x154]
dec dword [ecx + 0x7c]
movzx eax, al
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x80]
add eax, 0xffffffff
mov edx, dword [ecx + 0x84]
mov dword [ecx + 0x80], eax
adc edx, 0xffffffff
mov dword [ecx + 0x84], edx
mov dword [esp], ecx
mov dword [esp + 4], 0xffffffff
mov byte [esp + 8], 0
call fcn.004f09b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x4f023f
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00407d70
mov eax, dword [esp + 0xc]
lea ecx, [0x671680]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
add esp, 0x150
ret
mov ecx, dword [esp + 0x154]
jmp 0x4f01b1
mov eax, dword [esp + 0x154]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov byte [eax + 0x50], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x5c]
mov ebx, dword [eax + 0x58]
mov eax, dword [eax + 0x54]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
lea eax, [0x675fe0]
mov dword [esp], eax
lea eax, [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.00407b50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], edx
mov dword [esp + 0x164], ecx
add esp, 0x150
ret
mov eax, dword [edx + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], edx
add esp, 0x150
ret
call fcn.004503d0
mov ecx, eax
call fcn.004503b0
lea eax, [0x6690a0]
mov dword [esp], eax
lea eax, [0x71a1b8]
mov dword [esp + 4], eax
call fcn.0042a4d0
mov eax, ecx
mov ecx, 3
call fcn.00450370
mov eax, ebx
mov ecx, 3
call fcn.00450370
mov eax, edx
mov ecx, 6
call fcn.00450370
mov edx, ebx
call fcn.004503b0
call fcn.004503d0
mov dword [esp], 0
lea eax, [0x6c9219]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x30
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
call fcn.0043efb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407cf0
mov eax, dword [esp + 8]
lea ecx, [0x6690a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042a4d0
mov edx, esi
call fcn.004503b0
call fcn.004503d0
nop
call fcn.0044eab0
jmp fcn.004ee410