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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], 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 - 4], eax
xor eax, eax
push ebp
push 0x62af49
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 0x6289fd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x6289f3
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.00406a20
dec esi
cmp esi, 0xffffffff
jne 0x6289da
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 0x628a2e
sub al, 2
je 0x628ac1
jmp 0x628aca
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x628a3e
xor ebx, ebx
jmp 0x62af2b
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 dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x615840]
jne 0x628a8f
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.0061da34
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x62af2b
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 0x628ad1
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x628ad1
xor ebx, ebx
jmp 0x62af2b
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.00628958
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x62aeb6
cmp dword [ebp - 0x48], 0
je 0x628b00
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 0x628b1d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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 0x628b86
je 0x62a73f
cmp esi, 0xd
ja case.default.0x628b9d
jmp dword [esi*4 + 0x628b4e]
cmp esi, 0x15
jg 0x628bbc
je 0x629ca6
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x628b9d
jmp dword [esi*4 + 0x628ba4]
cmp esi, 0x19
jg 0x628be3
je 0x6296c9
sub esi, 0x16
je 0x62a3e1
dec esi
je 0x62a65e
dec esi
je 0x62a57d
jmp case.default.0x628b9d
sub esi, 0x1a
je 0x62971b
sub esi, 0xe5
je 0x62aeb6
jmp case.default.0x628b9d
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x628cce
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x628c33
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x628c40
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0061b850
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 0x628c8e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x628cbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
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.0061fb04
test al, al
jne 0x628db7
cmp byte [ebp - 0x12], 0
je 0x62aec3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x628d22
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x628d2f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0061b850
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 0x628d7d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
jmp 0x62aec3
cmp byte [ebp - 0x12], 0
je 0x62aeb6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x628dd8
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x628de5
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0061b850
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 0x628e33
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x628e8a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x628f74
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x628ed9
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x628ee6
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0061b850
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 0x628f34
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x628f65
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
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.00623144
test al, al
jne 0x629061
cmp byte [ebp - 0x12], 0
je 0x62aec3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x628fcc
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x628fd9
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0061b850
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 0x629027
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
jmp 0x62aec3
cmp byte [ebp - 0x12], 0
je 0x62aeb6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x629082
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x62908f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0061b850
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 0x6290dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
jmp 0x62aeb6
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.00634c8c
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.0061fb04
test al, al
jne 0x629226
cmp byte [ebp - 0x12], 0
je 0x62aec3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x629191
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x62919e
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0061b850
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 0x6291ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
jmp 0x62aec3
cmp byte [ebp - 0x12], 0
je 0x62aeb6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x629247
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x629254
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0061b850
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 0x6292a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
jmp 0x62aeb6
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 0x12], 0
je 0x629311
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.006284a8
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634c8c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x62935a
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 0x62aeb6
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x629394
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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 0x6293be
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x6293cd
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634be0
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x6293fd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + 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 0x629433
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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 - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [0x615840]
jne 0x629638
xor eax, eax
push ebp
push 0x6294b4
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 0x6294a7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x62949a
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0061da34
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x62aec3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634c8c
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634be0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x6296f4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + 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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634be0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634be0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x629751
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + 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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x629798
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + 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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x6297df
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + 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.00627268
test al, al
je 0x62aec3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x62981f.0
jmp dword [eax*4 + 0x629826]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x6298b0
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x6298b0
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x6298b0
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x6298b0
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x6298b0
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x6298b0
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0061da34
cmp byte [ebp - 0x12], 0
je 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
jmp 0x62aec3
cmp byte [ebp - 0x12], 0
je 0x6298c1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
cmp byte [ebp - 0x41], 0
je 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x6298f9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + 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.00627268
test al, al
je 0x62aec3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x629939.0
jmp dword [eax*4 + 0x629940]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x6299ca
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x6299ca
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x6299ca
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x6299ca
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x6299ca
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x6299ca
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0061da34
cmp byte [ebp - 0x12], 0
je 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
jmp 0x62aec3
cmp byte [ebp - 0x12], 0
je 0x6299db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
cmp byte [ebp - 0x41], 0
je 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x62aeb6
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 0x629aff
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 0x629adb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x629a60
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 0x629a60
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634be0
inc dword [ebp - 0x4c]
jne 0x629a50
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x629a88
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 0x629aff
cmp dword [ebx + 0x18], 0xffffffff
je 0x629aa7
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 0x629aff
mov eax, ebx
call fcn.00406a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00615108
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x629aff
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 0x629a2d
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x629aff
cmp dword [ebx + 8], 0xffffffff
jne 0x629a2d
cmp dword [ebp - 0x30], 0
jne 0x62aeb6
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x629b28
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x62aec3
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 0x629b51
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634be0
inc dword [ebp - 0x50]
jne 0x629b41
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 0x629b71
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x62aec3
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.00634be0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x629bcd
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x62aec3
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x629c10
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + 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 0x629c46
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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.00634c8c
jmp 0x62aeb6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x629c8b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00627ea8
test al, al
je 0x62aec3
jmp 0x62aeb6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x629ccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00628848
test al, al
je 0x62aec3
jmp 0x62aeb6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x629d0d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00627d48
test al, al
je 0x62aec3
jmp 0x62aeb6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x629d6f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
cmp byte [ebp - 9], 0
je 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
jmp 0x62aec3
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.0x629d98.0
jmp dword [eax*4 + 0x629d9f]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x629e47
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x629e47
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x629e47
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x629e47
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x629e47
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x629e47
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0061da34
cmp byte [ebp - 9], 0
je 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
jmp 0x62aec3
cmp dword [ebp - 0x2c], 0
je 0x629e5c
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x629e96
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov eax, dword [edx + 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 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x62aeb6
mov dl, 1
mov eax, dword [0x619794]
call fcn.004069f0
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.00628054
test al, al
jne 0x629f1b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
mov eax, ebx
call fcn.00406a20
jmp 0x62aec3
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.00628054
test al, al
jne 0x629f40
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
mov eax, ebx
call fcn.00406a20
jmp 0x62aec3
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.00628054
test al, al
jne 0x629f65
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
mov eax, ebx
call fcn.00406a20
jmp 0x62aec3
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.00628054
test al, al
jne 0x629f8a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
mov eax, ebx
call fcn.00406a20
jmp 0x62aec3
cmp dword [ebx + 0x10], 0xffffffff
je 0x629f99
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x629fa8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x629fb7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x629fc6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x629fd7
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x62a00a
cmp dword [ebx + 0x14], 0xffffffff
je 0x629fe8
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x62a00a
cmp dword [ebx + 0x18], 0xffffffff
je 0x629ff9
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x62a00a
cmp dword [ebx + 0x1c], 0xffffffff
je 0x62a020
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x62a020
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
mov eax, ebx
call fcn.00406a20
jmp 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.006150c0
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x62a04f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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 0x62a129
je 0x62a20b
dec eax
je 0x62a089
dec eax
je 0x62a335
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x62a0a4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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 0x62a0cd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x62a0ef
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x62aeb6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00406a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00615108
cmp dword [ebp - 0x38], 0xffffffff
je 0x62a11b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x62aeb6
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 0x62a152
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
cmp dword [ebx + 0x10], 0xffffffff
je 0x62a16d
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x62aeb6
cmp dword [ebx + 0x18], 0xffffffff
je 0x62a188
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x62aeb6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00406a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00615108
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x62a1e9
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 0x62aeb6
cmp dword [ebp - 0x38], 0xffffffff
je 0x62a1fd
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x62aeb6
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 0x62a234
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x62a291
cmp dword [ebx + 0x14], 0xffffffff
je 0x62a291
cmp dword [ebx + 0x14], 0xfffffffe
je 0x62a291
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.00408c30
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x62aeb6
cmp dword [ebx + 0x18], 0xffffffff
je 0x62a2ac
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x62aeb6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00406a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00615108
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x62a313
cmp dword [ebp - 0x2c], 0xffffffff
je 0x62a313
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 0x62aeb6
cmp dword [ebp - 0x38], 0xffffffff
je 0x62a327
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x62aeb6
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 0x62a35e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00406a20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00615108
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x62a3bf
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 0x62aeb6
cmp dword [ebp - 0x38], 0xffffffff
je 0x62a3d3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x62aeb6
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x62a416
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x62a42e
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x62a460
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.0061baf8
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x62a505
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x62a4e8
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.0061badc
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.0061f394
test al, al
jne 0x62a563
cmp byte [ebp - 0x12], 0
je 0x62a4d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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 0x62a563
mov eax, dword [ebp - 0x16]
call fcn.0061badc
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.0061f394
test al, al
jne 0x62a563
cmp byte [ebp - 0x12], 0
je 0x62a554
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
cmp byte [ebp - 0x12], 0
je 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
jmp 0x62aeb6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x62a5b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x62a5c9.0
movzx eax, byte [eax + 0x62a5d0]
jmp dword [eax*4 + 0x62a5e2]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x62aeb6
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x62a693
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x62a6aa.0
movzx eax, byte [eax + 0x62a6b1]
jmp dword [eax*4 + 0x62a6c3]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x62aeb6
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x62aeb6
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 9], 0
je 0x62a774
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x62a78c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 0x12], 0
je 0x62a7c1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x62a7e9
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 0x62aeb6
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 0x62aeb6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x62a83f
cmp byte [ebp - 9], 0
je 0x62a830
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x62a858
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00634be0
cmp dword [ebp - 0x2c], 0
jne 0x62a892
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x62a892
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.006331c4
test al, al
je 0x62aec3
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x62a8ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x62a8ba
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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 - 0x60], eax
mov eax, dword [ebp - 0x60]
cmp eax, dword [0x615840]
jne 0x62aacb
xor eax, eax
push ebp
push 0x62a93b
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 0x62a92e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x62a921
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0061da34
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x62aec3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x62aeb6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634c8c
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x62ab64
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
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.00627268
test al, al
je 0x62aec3
cmp byte [ebp - 0x1b], 0
je 0x62ac4e
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x62abb3
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x62abc0
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.0061b850
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 0x62ac0e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62ac3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0061da34
jmp 0x62aec3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
je 0x62aec3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00627268
test al, al
jne 0x62ad2e
cmp byte [ebp - 0x12], 0
je 0x62aec3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x62ac99
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x62aca6
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0061b850
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 0x62acf4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62aec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
jmp 0x62aec3
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.00620ae0
cmp byte [ebp - 9], 0
je 0x62adfd
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x62ad71
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x62ad7e
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0061b850
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 0x62adcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62adfd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
cmp byte [ebp - 0x12], 0
je 0x62aeb6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x62ae1e
and eax, 0x7f
bt dword [0x62af5c], eax
jae 0x62ae2b
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0061b850
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 0x62ae79
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0061505c
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 0x62aeb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.006348fc
jmp 0x62aeb6
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.0061da34
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x628af4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x62aedc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x628ae8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x62af21
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x62af05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634be0
dec esi
cmp esi, 0xffffffff
jne 0x62aef4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00634928
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x62af21
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 0x62af50
lea eax, [ebp - 0x88]
mov edx, 0xa
call fcn.00408844
ret