Function at 0x5e9e88
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 0x5ec459
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 0x5e9f0d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5e9f03
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.00408444
dec esi
cmp esi, 0xffffffff
jne 0x5e9eea
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 0x5e9f3e
sub al, 2
je 0x5e9fd1
jmp 0x5e9fda
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x5e9f4e
xor ebx, ebx
jmp 0x5ec43b
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 [0x5d6cc8]
jne 0x5e9f9f
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.005deef0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x5ec43b
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 0x5e9fe1
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5e9fe1
xor ebx, ebx
jmp 0x5ec43b
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.005e9e68
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x5ec3c6
cmp dword [ebp - 0x48], 0
je 0x5ea010
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 0x5ea02d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5ea096
je 0x5ebc4f
cmp esi, 0xd
ja case.default.0x5ea0ad
jmp dword [esi*4 + 0x5ea05e]
cmp esi, 0x15
jg 0x5ea0cc
je 0x5eb1b6
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x5ea0ad
jmp dword [esi*4 + 0x5ea0b4]
cmp esi, 0x19
jg 0x5ea0f3
je 0x5eabd9
sub esi, 0x16
je 0x5eb8f1
dec esi
je 0x5ebb6e
dec esi
je 0x5eba8d
jmp case.default.0x5ea0ad
sub esi, 0x1a
je 0x5eac2b
sub esi, 0xe5
je 0x5ec3c6
jmp case.default.0x5ea0ad
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5ea1de
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ea143
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ea150
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005dccd8
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 0x5ea19e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ea1cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
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.005e0fc0
test al, al
jne 0x5ea2c7
cmp byte [ebp - 0x12], 0
je 0x5ec3d3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ea232
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ea23f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dccd8
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 0x5ea28d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
jmp 0x5ec3d3
cmp byte [ebp - 0x12], 0
je 0x5ec3c6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ea2e8
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ea2f5
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dccd8
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 0x5ea343
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ea39a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5ea484
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ea3e9
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ea3f6
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005dccd8
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 0x5ea444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ea475
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
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.005e4600
test al, al
jne 0x5ea571
cmp byte [ebp - 0x12], 0
je 0x5ec3d3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ea4dc
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ea4e9
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dccd8
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 0x5ea537
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
jmp 0x5ec3d3
cmp byte [ebp - 0x12], 0
je 0x5ec3c6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ea592
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ea59f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dccd8
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 0x5ea5ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
jmp 0x5ec3c6
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.005f61b4
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.005e0fc0
test al, al
jne 0x5ea736
cmp byte [ebp - 0x12], 0
je 0x5ec3d3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ea6a1
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ea6ae
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dccd8
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 0x5ea6fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
jmp 0x5ec3d3
cmp byte [ebp - 0x12], 0
je 0x5ec3c6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ea757
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ea764
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dccd8
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 0x5ea7b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
jmp 0x5ec3c6
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 0x12], 0
je 0x5ea821
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.005e9990
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f61b4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5ea86a
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 0x5ec3c6
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x5ea8a4
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5ea8ce
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x5ea8dd
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f6108
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ea90d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5ea943
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 [0x5d6cc8]
jne 0x5eab48
xor eax, eax
push ebp
push 0x5ea9c4
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 0x5ea9b7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5ea9aa
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005deef0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ec3d3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f61b4
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f6108
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eac04
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f6108
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f6108
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eac61
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eaca8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eacef
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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.005e8724
test al, al
je 0x5ec3d3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5ead2f.0
jmp dword [eax*4 + 0x5ead36]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5eadc0
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x5eadc0
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5eadc0
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x5eadc0
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5eadc0
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x5eadc0
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005deef0
cmp byte [ebp - 0x12], 0
je 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
jmp 0x5ec3d3
cmp byte [ebp - 0x12], 0
je 0x5eadd1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
cmp byte [ebp - 0x41], 0
je 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eae09
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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.005e8724
test al, al
je 0x5ec3d3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x5eae49.0
jmp dword [eax*4 + 0x5eae50]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5eaeda
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x5eaeda
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5eaeda
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x5eaeda
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5eaeda
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x5eaeda
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005deef0
cmp byte [ebp - 0x12], 0
je 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
jmp 0x5ec3d3
cmp byte [ebp - 0x12], 0
je 0x5eaeeb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
cmp byte [ebp - 0x41], 0
je 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5ec3c6
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 0x5eb00f
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 0x5eafeb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x5eaf70
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 0x5eaf70
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f6108
inc dword [ebp - 0x4c]
jne 0x5eaf60
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5eaf98
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 0x5eb00f
cmp dword [ebx + 0x18], 0xffffffff
je 0x5eafb7
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 0x5eb00f
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d6590
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5eb00f
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 0x5eaf3d
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x5eb00f
cmp dword [ebx + 8], 0xffffffff
jne 0x5eaf3d
cmp dword [ebp - 0x30], 0
jne 0x5ec3c6
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x5eb038
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5ec3d3
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 0x5eb061
dec edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f6108
inc dword [ebp - 0x50]
jne 0x5eb051
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 0x5eb081
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5ec3d3
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.005f6108
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x5eb0dd
movzx eax, byte [ebp - 0x39]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x5ec3d3
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eb120
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5eb156
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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.005f61b4
jmp 0x5ec3c6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5eb19b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005e9390
test al, al
je 0x5ec3d3
jmp 0x5ec3c6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5eb1dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005e9d30
test al, al
je 0x5ec3d3
jmp 0x5ec3c6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5eb21d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.005e9204
test al, al
je 0x5ec3d3
jmp 0x5ec3c6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eb27f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
cmp byte [ebp - 9], 0
je 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
jmp 0x5ec3d3
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.0x5eb2a8.0
jmp dword [eax*4 + 0x5eb2af]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5eb357
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5eb357
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5eb357
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5eb357
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5eb357
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x5eb357
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.005deef0
cmp byte [ebp - 9], 0
je 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
jmp 0x5ec3d3
cmp dword [ebp - 0x2c], 0
je 0x5eb36c
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eb3a6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x5ec3c6
mov dl, 1
mov eax, dword [0x5dac1c]
call fcn.00408414
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.005e953c
test al, al
jne 0x5eb42b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
mov eax, ebx
call fcn.00408444
jmp 0x5ec3d3
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.005e953c
test al, al
jne 0x5eb450
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
mov eax, ebx
call fcn.00408444
jmp 0x5ec3d3
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.005e953c
test al, al
jne 0x5eb475
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
mov eax, ebx
call fcn.00408444
jmp 0x5ec3d3
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.005e953c
test al, al
jne 0x5eb49a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
mov eax, ebx
call fcn.00408444
jmp 0x5ec3d3
cmp dword [ebx + 0x10], 0xffffffff
je 0x5eb4a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x5eb4b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x5eb4c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5eb4d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x5eb4e7
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5eb51a
cmp dword [ebx + 0x14], 0xffffffff
je 0x5eb4f8
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5eb51a
cmp dword [ebx + 0x18], 0xffffffff
je 0x5eb509
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x5eb51a
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5eb530
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eb530
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
mov eax, ebx
call fcn.00408444
jmp 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.005d6548
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5eb55f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5eb639
je 0x5eb71b
dec eax
je 0x5eb599
dec eax
je 0x5eb845
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x5eb5b4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5eb5dd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x5eb5ff
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5ec3c6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d6590
cmp dword [ebp - 0x38], 0xffffffff
je 0x5eb62b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5ec3c6
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 0x5eb662
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
cmp dword [ebx + 0x10], 0xffffffff
je 0x5eb67d
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x5ec3c6
cmp dword [ebx + 0x18], 0xffffffff
je 0x5eb698
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x5ec3c6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d6590
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5eb6f9
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 0x5ec3c6
cmp dword [ebp - 0x38], 0xffffffff
je 0x5eb70d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5ec3c6
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 0x5eb744
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5eb7a1
cmp dword [ebx + 0x14], 0xffffffff
je 0x5eb7a1
cmp dword [ebx + 0x14], 0xfffffffe
je 0x5eb7a1
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.0040a644
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x5ec3c6
cmp dword [ebx + 0x18], 0xffffffff
je 0x5eb7bc
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x5ec3c6
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d6590
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5eb823
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5eb823
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 0x5ec3c6
cmp dword [ebp - 0x38], 0xffffffff
je 0x5eb837
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5ec3c6
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 0x5eb86e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00408444
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.005d6590
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x5eb8cf
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 0x5ec3c6
cmp dword [ebp - 0x38], 0xffffffff
je 0x5eb8e3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x5ec3c6
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5eb926
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5eb93e
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5eb970
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.005dcf80
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5eba15
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x5eb9f8
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.005dcf64
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.005e0850
test al, al
jne 0x5eba73
cmp byte [ebp - 0x12], 0
je 0x5eb9e9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 0x5eba73
mov eax, dword [ebp - 0x16]
call fcn.005dcf64
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.005e0850
test al, al
jne 0x5eba73
cmp byte [ebp - 0x12], 0
je 0x5eba64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
cmp byte [ebp - 0x12], 0
je 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
jmp 0x5ec3c6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5ebac2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5ebad9.0
movzx eax, byte [eax + 0x5ebae0]
jmp dword [eax*4 + 0x5ebaf2]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5ec3c6
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5ebba3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x5ebbba.0
movzx eax, byte [eax + 0x5ebbc1]
jmp dword [eax*4 + 0x5ebbd3]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x5ec3c6
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x5ec3c6
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 9], 0
je 0x5ebc84
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x5ebc9c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 0x12], 0
je 0x5ebcd1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x5ebcf9
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 0x5ec3c6
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 0x5ec3c6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x5ebd4f
cmp byte [ebp - 9], 0
je 0x5ebd40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x5ebd68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f6108
cmp dword [ebp - 0x2c], 0
jne 0x5ebda2
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x5ebda2
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.005f46ec
test al, al
je 0x5ec3d3
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x5ebdbb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x5ebdca
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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 [0x5d6cc8]
jne 0x5ebfdb
xor eax, eax
push ebp
push 0x5ebe4b
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 0x5ebe3e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x5ebe31
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.005deef0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ec3d3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ec3c6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f61b4
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x5ec074
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
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.005e8724
test al, al
je 0x5ec3d3
cmp byte [ebp - 0x1b], 0
je 0x5ec15e
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ec0c3
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ec0d0
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.005dccd8
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 0x5ec11e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec14f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.005deef0
jmp 0x5ec3d3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
je 0x5ec3d3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e8724
test al, al
jne 0x5ec23e
cmp byte [ebp - 0x12], 0
je 0x5ec3d3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ec1a9
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ec1b6
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dccd8
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 0x5ec204
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec3d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
jmp 0x5ec3d3
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.005e1f9c
cmp byte [ebp - 9], 0
je 0x5ec30d
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ec281
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ec28e
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.005dccd8
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 0x5ec2dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec30d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
cmp byte [ebp - 0x12], 0
je 0x5ec3c6
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x5ec32e
and eax, 0x7f
bt dword [0x5ec46c], eax
jae 0x5ec33b
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.005dccd8
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 0x5ec389
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005d64e4
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 0x5ec3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.005f5e24
jmp 0x5ec3c6
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.005deef0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5ea004
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x5ec3ec
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x5e9ff8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x5ec431
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x5ec415
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f6108
dec esi
cmp esi, 0xffffffff
jne 0x5ec404
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.005f5e50
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x5ec431
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 0x5ec460
lea eax, [ebp - 0x88]
mov edx, 0xa
call fcn.0040a258
ret