Function at 0x4ae290
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 0x4b0853
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 0x4ae30c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4ae302
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 0x4ae2e9
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 0x4ae33d
sub al, 2
je 0x4ae3ca
jmp 0x4ae3d3
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4ae34d
xor ebx, ebx
jmp 0x4b0838
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 [0x49eb3c]
jne 0x4ae398
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.004a3510
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x4b0838
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 0x4ae3da
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4ae3da
xor ebx, ebx
jmp 0x4b0838
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.004ae270
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4b07c3
cmp dword [ebp - 0x48], 0
je 0x4ae409
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 0x4ae426
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4ae48f
je 0x4b0058
cmp esi, 0xd
ja case.default.0x4ae4a6
jmp dword [esi*4 + 0x4ae457]
cmp esi, 0x15
jg 0x4ae4c5
je 0x4af5bd
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x4ae4a6
jmp dword [esi*4 + 0x4ae4ad]
cmp esi, 0x19
jg 0x4ae4ec
je 0x4aefd4
sub esi, 0x16
je 0x4afcfa
dec esi
je 0x4aff77
dec esi
je 0x4afe96
jmp case.default.0x4ae4a6
sub esi, 0x1a
je 0x4af028
sub esi, 0xe5
je 0x4b07c3
jmp case.default.0x4ae4a6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4ae5d7
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4ae53c
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4ae549
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004a1300
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 0x4ae597
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4ae5c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
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.004a55e8
test al, al
jne 0x4ae6c0
cmp byte [ebp - 0x12], 0
je 0x4b07d0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4ae62b
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4ae638
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004a1300
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 0x4ae686
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
jmp 0x4b07d0
cmp byte [ebp - 0x12], 0
je 0x4b07c3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4ae6e1
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4ae6ee
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004a1300
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 0x4ae73c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4ae793
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4ae87d
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4ae7e2
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4ae7ef
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004a1300
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 0x4ae83d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4ae86e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
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.004a8b18
test al, al
jne 0x4ae96a
cmp byte [ebp - 0x12], 0
je 0x4b07d0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4ae8d5
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4ae8e2
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004a1300
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 0x4ae930
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
jmp 0x4b07d0
cmp byte [ebp - 0x12], 0
je 0x4b07c3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4ae98b
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4ae998
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004a1300
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 0x4ae9e6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
jmp 0x4b07c3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.004ba1a4
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.004a55e8
test al, al
jne 0x4aeb2f
cmp byte [ebp - 0x12], 0
je 0x4b07d0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4aea9a
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4aeaa7
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004a1300
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 0x4aeaf5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
jmp 0x4b07d0
cmp byte [ebp - 0x12], 0
je 0x4b07c3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4aeb50
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4aeb5d
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004a1300
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 0x4aebab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
jmp 0x4b07c3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 0x12], 0
je 0x4aec1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.004ade5c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba1a4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4aec63
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 0x4b07c3
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x4aec9d
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4aecc7
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x4aecd6
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba0fc
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4aed06
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4aed3e
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 [0x49eb3c]
jne 0x4aef43
xor eax, eax
push ebp
push 0x4aedbf
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 0x4aedb2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4aeda5
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004a3510
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b07d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba1a4
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba0fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4aefff
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba0fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba0fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af05e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af0a7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af0f0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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.004acc20
test al, al
je 0x4b07d0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4af132.0
jmp dword [eax*4 + 0x4af139]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x4af1c3
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x4af1c3
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x4af1c3
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x4af1c3
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x4af1c3
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x4af1c3
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004a3510
cmp byte [ebp - 0x12], 0
je 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
jmp 0x4b07d0
cmp byte [ebp - 0x12], 0
je 0x4af1d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
cmp byte [ebp - 0x41], 0
je 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af20c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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.004acc20
test al, al
je 0x4b07d0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4af24e.0
jmp dword [eax*4 + 0x4af255]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x4af2df
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x4af2df
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x4af2df
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x4af2df
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x4af2df
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x4af2df
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004a3510
cmp byte [ebp - 0x12], 0
je 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
jmp 0x4b07d0
cmp byte [ebp - 0x12], 0
je 0x4af2f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
cmp byte [ebp - 0x41], 0
je 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4b07c3
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 0x4af414
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 0x4af3f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x4af375
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 0x4af375
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba0fc
inc dword [ebp - 0x4c]
jne 0x4af365
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4af39d
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 0x4af414
cmp dword [ebx + 0x18], 0xffffffff
je 0x4af3bc
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 0x4af414
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0049cfa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4af414
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 0x4af342
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x4af414
cmp dword [ebx + 8], 0xffffffff
jne 0x4af342
cmp dword [ebp - 0x30], 0
jne 0x4b07c3
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x4af43d
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4b07d0
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 0x4af466
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba0fc
inc dword [ebp - 0x4c]
jne 0x4af456
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 0x4af486
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4b07d0
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.004ba0fc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x4af4e2
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4b07d0
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af525
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4af55d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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.004ba1a4
jmp 0x4b07c3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4af5a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004ad858
test al, al
je 0x4b07d0
jmp 0x4b07c3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4af5e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004ae160
test al, al
je 0x4b07d0
jmp 0x4b07c3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4af624
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004ad6f8
test al, al
je 0x4b07d0
jmp 0x4b07c3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af686
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
cmp byte [ebp - 9], 0
je 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
jmp 0x4b07d0
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.0x4af6af.0
jmp dword [eax*4 + 0x4af6b6]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4af75e
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4af75e
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4af75e
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4af75e
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4af75e
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4af75e
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004a3510
cmp byte [ebp - 9], 0
je 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
jmp 0x4b07d0
cmp dword [ebp - 0x2c], 0
je 0x4af773
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af7ad
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4b07c3
mov dl, 1
mov eax, dword [0x49f49c]
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.004ada04
test al, al
jne 0x4af834
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
mov eax, ebx
call fcn.00404098
jmp 0x4b07d0
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.004ada04
test al, al
jne 0x4af859
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
mov eax, ebx
call fcn.00404098
jmp 0x4b07d0
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.004ada04
test al, al
jne 0x4af87e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
mov eax, ebx
call fcn.00404098
jmp 0x4b07d0
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.004ada04
test al, al
jne 0x4af8a3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
mov eax, ebx
call fcn.00404098
jmp 0x4b07d0
cmp dword [ebx + 0x10], 0xffffffff
je 0x4af8b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x4af8c1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x4af8d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4af8df
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4af8f0
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4af923
cmp dword [ebx + 0x14], 0xffffffff
je 0x4af901
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4af923
cmp dword [ebx + 0x18], 0xffffffff
je 0x4af912
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4af923
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4af939
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af939
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
mov eax, ebx
call fcn.00404098
jmp 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.0049cf58
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4af968
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4afa42
je 0x4afb24
dec eax
je 0x4af9a2
dec eax
je 0x4afc4e
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x4af9bd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4af9e6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x4afa08
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x4b07c3
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.0049cfa0
cmp dword [ebp - 0x38], 0xffffffff
je 0x4afa34
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4b07c3
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 0x4afa6b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
cmp dword [ebx + 0x10], 0xffffffff
je 0x4afa86
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x4b07c3
cmp dword [ebx + 0x18], 0xffffffff
je 0x4afaa1
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x4b07c3
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.0049cfa0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4afb02
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 0x4b07c3
cmp dword [ebp - 0x38], 0xffffffff
je 0x4afb16
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4b07c3
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 0x4afb4d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4afbaa
cmp dword [ebx + 0x14], 0xffffffff
je 0x4afbaa
cmp dword [ebx + 0x14], 0xfffffffe
je 0x4afbaa
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 0x4b07c3
cmp dword [ebx + 0x18], 0xffffffff
je 0x4afbc5
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x4b07c3
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.0049cfa0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4afc2c
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4afc2c
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 0x4b07c3
cmp dword [ebp - 0x38], 0xffffffff
je 0x4afc40
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4b07c3
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 0x4afc77
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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.0049cfa0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4afcd8
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 0x4b07c3
cmp dword [ebp - 0x38], 0xffffffff
je 0x4afcec
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4b07c3
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4afd2f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4afd47
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4afd79
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.004a15b0
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4afe1e
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x4afe01
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.004a1594
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.004a4e74
test al, al
jne 0x4afe7c
cmp byte [ebp - 0x12], 0
je 0x4afdf2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 0x4afe7c
mov eax, dword [ebp - 0x16]
call fcn.004a1594
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.004a4e74
test al, al
jne 0x4afe7c
cmp byte [ebp - 0x12], 0
je 0x4afe6d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
cmp byte [ebp - 0x12], 0
je 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
jmp 0x4b07c3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4afecb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4afee2.0
movzx eax, byte [eax + 0x4afee9]
jmp dword [eax*4 + 0x4afefb]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x4b07c3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4affac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4affc3.0
movzx eax, byte [eax + 0x4affca]
jmp dword [eax*4 + 0x4affdc]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x4b07c3
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x4b07c3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 9], 0
je 0x4b008d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4b00a5
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 0x12], 0
je 0x4b00da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4b0102
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 0x4b07c3
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 0x4b07c3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x4b0158
cmp byte [ebp - 9], 0
je 0x4b0149
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x4b0171
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004ba0fc
cmp dword [ebp - 0x2c], 0
jne 0x4b01ab
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4b01ab
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.004b87c0
test al, al
je 0x4b07d0
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x4b01c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x4b01d3
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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 [0x49eb3c]
jne 0x4b03d8
xor eax, eax
push ebp
push 0x4b0254
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 0x4b0247
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4b023a
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004a3510
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b07d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b07c3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba1a4
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4b0471
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
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.004acc20
test al, al
je 0x4b07d0
cmp byte [ebp - 0x1b], 0
je 0x4b055b
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4b04c0
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4b04cd
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.004a1300
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 0x4b051b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b054c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004a3510
jmp 0x4b07d0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
je 0x4b07d0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004acc20
test al, al
jne 0x4b063b
cmp byte [ebp - 0x12], 0
je 0x4b07d0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4b05a6
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4b05b3
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004a1300
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 0x4b0601
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b07d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
jmp 0x4b07d0
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.004a65c4
cmp byte [ebp - 9], 0
je 0x4b070a
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4b067e
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4b068b
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004a1300
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 0x4b06d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b070a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
cmp byte [ebp - 0x12], 0
je 0x4b07c3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4b072b
and eax, 0x7f
bt dword [0x4b0864], eax
jae 0x4b0738
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004a1300
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 0x4b0786
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049cef4
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 0x4b07c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b9e38
jmp 0x4b07c3
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.004a3510
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4ae3fd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4b07e9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4ae3f1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4b082e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4b0812
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004ba0fc
dec esi
cmp esi, 0xffffffff
jne 0x4b0801
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b9e64
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x4b082e
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 0x4b085a
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.004052a0
ret