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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4a3b0b
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4a15c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4a15ba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00404098
dec esi
cmp esi, 0xffffffff
jne 0x4a15a1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
call dword [edx]
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov bl, 1
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x4c]
mov byte [ebp - 0x39], al
dec al
je 0x4a15f5
sub al, 2
je 0x4a1682
jmp 0x4a168b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4a1605
xor ebx, ebx
jmp 0x4a3af0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [0x491df4]
jne 0x4a1650
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.004967c8
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x4a3af0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x60], 0xffffffff
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x4a1692
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4a1692
xor ebx, ebx
jmp 0x4a3af0
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.004a1528
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4a3a7b
cmp dword [ebp - 0x48], 0
je 0x4a16c1
mov eax, dword [ebp - 4]
call dword [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a16de
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx esi, byte [edx + eax]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
cmp esi, 0xe
jg 0x4a1747
je 0x4a3310
cmp esi, 0xd
ja case.default.0x4a175e
jmp dword [esi*4 + 0x4a170f]
cmp esi, 0x15
jg 0x4a177d
je 0x4a2875
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x4a175e
jmp dword [esi*4 + 0x4a1765]
cmp esi, 0x19
jg 0x4a17a4
je 0x4a228c
sub esi, 0x16
je 0x4a2fb2
dec esi
je 0x4a322f
dec esi
je 0x4a314e
jmp case.default.0x4a175e
sub esi, 0x1a
je 0x4a22e0
sub esi, 0xe5
je 0x4a3a7b
jmp case.default.0x4a175e
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a188f
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a17f4
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a1801
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a184f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a1880
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004988a0
test al, al
jne 0x4a1978
cmp byte [ebp - 0x12], 0
je 0x4a3a88
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a18e3
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a18f0
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a193e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
jmp 0x4a3a88
cmp byte [ebp - 0x12], 0
je 0x4a3a7b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a1999
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a19a6
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a19f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a1a4b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a1b35
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a1a9a
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a1aa7
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a1af5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a1b26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.0049bdd0
test al, al
jne 0x4a1c22
cmp byte [ebp - 0x12], 0
je 0x4a3a88
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a1b8d
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a1b9a
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a1be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
jmp 0x4a3a88
cmp byte [ebp - 0x12], 0
je 0x4a3a7b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a1c43
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a1c50
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a1c9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
jmp 0x4a3a7b
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.004ad45c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xd], eax
mov byte [ebp - 9], 0
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004988a0
test al, al
jne 0x4a1de7
cmp byte [ebp - 0x12], 0
je 0x4a3a88
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a1d52
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a1d5f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a1dad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
jmp 0x4a3a88
cmp byte [ebp - 0x12], 0
je 0x4a3a7b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a1e08
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a1e15
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a1e63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
jmp 0x4a3a7b
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 0x12], 0
je 0x4a1ed2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.004a1114
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad45c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a1f1b
mov eax, dword [ebp - 0x1a]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1a]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x16]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x4a1f55
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x4a1f7f
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x4a1f8e
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad3b4
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a1fbe
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
ja 0x4a1ff6
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [0x491df4]
jne 0x4a21fb
xor eax, eax
push ebp
push 0x4a2077
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x4a206a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4a205d
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004967c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a3a88
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad45c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xd], eax
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad3b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a22b7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad3b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad3b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a2316
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a235f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a23a8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4a23ea.0
jmp dword [eax*4 + 0x4a23f1]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a247b
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a247b
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a247b
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a247b
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a247b
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a247b
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004967c8
cmp byte [ebp - 0x12], 0
je 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
jmp 0x4a3a88
cmp byte [ebp - 0x12], 0
je 0x4a248c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
cmp byte [ebp - 0x41], 0
je 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a24c4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4a2506.0
jmp dword [eax*4 + 0x4a250d]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a2597
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a2597
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a2597
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a2597
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a2597
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a2597
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004967c8
cmp byte [ebp - 0x12], 0
je 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
jmp 0x4a3a88
cmp byte [ebp - 0x12], 0
je 0x4a25a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
cmp byte [ebp - 0x41], 0
je 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
dec eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jbe 0x4a26cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
jmp 0x4a26a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x4a262d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebx + 0xc]
sub edx, eax
ja 0x4a262d
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad3b4
inc dword [ebp - 0x4c]
jne 0x4a261d
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a2655
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebp - 0x30], 1
jmp 0x4a26cc
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a2674
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
mov dword [ebp - 0x30], 1
jmp 0x4a26cc
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00490258
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4a26cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
je 0x4a25fa
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x4a26cc
cmp dword [ebx + 8], 0xffffffff
jne 0x4a25fa
cmp dword [ebp - 0x30], 0
jne 0x4a3a7b
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x4a26f5
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
inc edx
sub edx, eax
jg 0x4a271e
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad3b4
inc dword [ebp - 0x4c]
jne 0x4a270e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
cmp eax, dword [edx + 0xc]
jb 0x4a273e
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad3b4
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x4a279a
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a27dd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jae 0x4a2815
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad45c
jmp 0x4a3a7b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a285a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a0b10
test al, al
je 0x4a3a88
jmp 0x4a3a7b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a289b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a1418
test al, al
je 0x4a3a88
jmp 0x4a3a7b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a28dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a09b0
test al, al
je 0x4a3a88
jmp 0x4a3a7b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a293e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
cmp byte [ebp - 9], 0
je 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4a2967.0
jmp dword [eax*4 + 0x4a296e]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a2a16
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a2a16
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a2a16
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a2a16
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a2a16
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a2a16
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004967c8
cmp byte [ebp - 9], 0
je 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
jmp 0x4a3a88
cmp dword [ebp - 0x2c], 0
je 0x4a2a2b
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x10]
xor al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
cmp byte [ebp - 9], 0
je 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a2a65
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov dl, 1
mov eax, dword [0x492754]
call fcn.00404068
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.004a0cbc
test al, al
jne 0x4a2aec
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
mov eax, ebx
call fcn.00404098
jmp 0x4a3a88
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.004a0cbc
test al, al
jne 0x4a2b11
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
mov eax, ebx
call fcn.00404098
jmp 0x4a3a88
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.004a0cbc
test al, al
jne 0x4a2b36
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
mov eax, ebx
call fcn.00404098
jmp 0x4a3a88
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.004a0cbc
test al, al
jne 0x4a2b5b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
mov eax, ebx
call fcn.00404098
jmp 0x4a3a88
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a2b6a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a2b79
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a2b88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4a2b97
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a2ba8
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a2bdb
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a2bb9
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a2bdb
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a2bca
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a2bdb
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4a2bf1
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a2bf1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
mov eax, ebx
call fcn.00404098
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.00490210
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a2c20
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0x2c]
sub eax, 1
jb 0x4a2cfa
je 0x4a2ddc
dec eax
je 0x4a2c5a
dec eax
je 0x4a2f06
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x4a2c75
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x4a2c9e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a2cc0
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x4a3a7b
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00490258
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a2cec
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x4a2d23
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a2d3e
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x4a3a7b
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a2d59
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x4a3a7b
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00490258
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a2dba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4a3a7b
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a2dce
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x4a2e05
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a2e62
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a2e62
cmp dword [ebx + 0x14], 0xfffffffe
je 0x4a2e62
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xfffffffe
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
mov byte [ebx + 0x20], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x28]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x80]
call fcn.004052d0
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x4a3a7b
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a2e7d
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x4a3a7b
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00490258
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a2ee4
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4a2ee4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4a3a7b
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a2ef8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x4a2f2f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00490258
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a2f90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4a3a7b
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a2fa4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a2fe7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4a2fff
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4a3031
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.00494868
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a30d6
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x4a30b9
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.0049484c
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
add edx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0x11]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x11]
add eax, 4
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x1a]
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov ecx, 1
call fcn.0049812c
test al, al
jne 0x4a3134
cmp byte [ebp - 0x12], 0
je 0x4a30aa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 0x11]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 4
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 8
xor edx, edx
mov dword [eax], edx
jmp 0x4a3134
mov eax, dword [ebp - 0x16]
call fcn.0049484c
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 8
mov dword [eax], 0xffffffff
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov ecx, 1
mov edx, dword [ebp - 0x1a]
call fcn.0049812c
test al, al
jne 0x4a3134
cmp byte [ebp - 0x12], 0
je 0x4a3125
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
cmp byte [ebp - 0x12], 0
je 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
jmp 0x4a3a7b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a3183
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4a319a.0
movzx eax, byte [eax + 0x4a31a1]
jmp dword [eax*4 + 0x4a31b3]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x4a3a7b
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a3264
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4a327b.0
movzx eax, byte [eax + 0x4a3282]
jmp dword [eax*4 + 0x4a3294]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x4a3a7b
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 9], 0
je 0x4a3345
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4a335d
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 0x12], 0
je 0x4a3392
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a33ba
mov eax, dword [ebp - 0x1a]
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
add edx, 4
mov dword [edx], eax
jmp 0x4a3a7b
mov eax, dword [ebp - 0x11]
mov edx, dword [ebp - 0x1a]
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
jmp 0x4a3a7b
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x4a3410
cmp byte [ebp - 9], 0
je 0x4a3401
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x4a3429
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad3b4
cmp dword [ebp - 0x2c], 0
jne 0x4a3463
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4a3463
mov eax, dword [ebp - 0x11]
add eax, 8
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x11]
add eax, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.004aba78
test al, al
je 0x4a3a88
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x4a347c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x4a348b
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x491df4]
jne 0x4a3690
xor eax, eax
push ebp
push 0x4a350c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x4a34ff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4a34f2
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004967c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a3a88
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad45c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a3729
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x23]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
cmp byte [ebp - 0x1b], 0
je 0x4a3813
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a3778
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a3785
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a37d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3804
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004967c8
jmp 0x4a3a88
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
je 0x4a3a88
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0049fed8
test al, al
jne 0x4a38f3
cmp byte [ebp - 0x12], 0
je 0x4a3a88
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a385e
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a386b
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a38b9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3a88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
jmp 0x4a3a88
mov eax, dword [ebp - 0x23]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x1f]
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x11]
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 4]
call fcn.0049987c
cmp byte [ebp - 9], 0
je 0x4a39c2
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a3936
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a3943
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a3991
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a39c2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
cmp byte [ebp - 0x12], 0
je 0x4a3a7b
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a39e3
and eax, 0x7f
bt dword [0x4a3b1c], eax
jae 0x4a39f0
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004945b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4a3a3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004901ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4a3a7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ad0f0
jmp 0x4a3a7b
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.004967c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4a16b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4a3aa1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4a16a9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4a3ae6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4a3aca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad3b4
dec esi
cmp esi, 0xffffffff
jne 0x4a3ab9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ad11c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x4a3ae6
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a3b12
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.004052a0
ret