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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xbc
or dword [ebp - 0x54], 0xffffffff
push ebx
push esi
mov esi, dword [ebp + 8]
movsx eax, word [esi + 0x78]
movsx ebx, word [esi + 0x7c]
sub ebx, eax
push edi
xor edi, edi
lea eax, [esi + 0x1c]
mov dword [ebp - 0x60], eax
mov eax, dword [esi]
push 0x10
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb0], edi
pop ecx
mov word [eax + 0x30], cx
mov eax, dword [esi]
cmp word [eax + 0x68], 0x64
mov dword [ebp - 0xb8], 1
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
mov byte [ebp + 0xb], 0
mov byte [ebp - 0xd], 0
mov byte [ebp - 0x6d], 0
mov byte [ebp - 0x68], 0
mov byte [ebp - 0x50], 0
mov byte [ebp - 0x3d], 0
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb4], edi
jne 0x19eabc41
cmp word [eax + 0x6a], 0x64
je 0x19eabd3f
push 2
push 0xc8
call fcn.19e717c2
mov dword [ebp - 0x44], eax
cmp eax, edi
je 0x19eacdce
mov eax, dword [esi + 0x40]
jmp 0x19eabc74
mov ecx, dword [eax]
cmp ecx, 3
je 0x19eabc69
cmp ecx, 1
jne 0x19eabc71
mov byte [eax + 8], 1
mov byte [eax + 4], 0
mov eax, dword [eax + 0x18]
cmp eax, edi
jne 0x19eabc5d
lea eax, [ebp - 0x38]
push eax
push 0xc8
push dword [ebp - 0x44]
push esi
call fcn.19ea8b09
cmp eax, 1
je 0x19eacdc1
cmp dword [ebp - 0x38], edi
jle 0x19eabca5
push dword [ebp - 0x38]
push dword [ebp - 0x44]
call fcn.19ea8bc6
jmp 0x19eabca7
mov eax, ebx
xor ecx, ecx
cmp dword [ebp - 0x38], edi
mov dword [ebp - 0x5c], edi
jle 0x19eabcc6
mov edx, dword [ebp - 0x44]
movsx edx, word [edx + ecx*2]
cmp dword [ebp - 0x5c], edx
jge 0x19eabcc0
mov dword [ebp - 0x5c], edx
inc ecx
cmp ecx, dword [ebp - 0x38]
jl 0x19eabcb1
push dword [ebp + 0xc]
lea ecx, [ebp - 0xd]
push ecx
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [ebp - 0x28]
push ecx
push dword [ebp - 0x38]
push dword [ebp - 0x5c]
push eax
push esi
call fcn.19eab1c1
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x38]
push eax
push 0xc8
push dword [ebp - 0x44]
push esi
call fcn.19ea8b09
cmp eax, 1
je 0x19eacdc1
cmp dword [ebp - 0x38], edi
jle 0x19eabd18
push dword [ebp - 0x38]
push dword [ebp - 0x44]
call fcn.19ea8bc6
mov dword [ebp - 0x2c], eax
jmp 0x19eabd1b
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x38], edi
jle 0x19eabd31
push dword [ebp - 0x38]
push dword [ebp - 0x44]
call fcn.19ec4571
cwde
mov dword [ebp - 0x74], eax
jmp 0x19eabd34
mov dword [ebp - 0x74], ebx
push dword [ebp - 0x44]
call fcn.19e7b168
mov dword [ebp - 0x44], edi
movsx eax, word [esi + 0x3c]
lea eax, [eax*4 + 0x1900]
push eax
call fcn.19e7b150
mov dword [ebp - 0xa4], eax
cmp eax, edi
je 0x19eacdce
movzx ecx, word [esi + 0x3c]
mov edi, eax
lea ebx, [edi + 0x640]
lea eax, [ebx + 0x640]
mov dword [ebp - 0x90], eax
add eax, 0xc80
movsx edx, cx
mov dword [ebp - 8], eax
lea eax, [eax + edx*2]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
cmp word [eax + 0x6a], 0x64
jne 0x19eabda9
cmp word [eax + 0x68], 0x64
jne 0x19eabda9
push ecx
push 0
mov dword [ebp - 0x1c], 0x64
push edi
push 0
jmp 0x19eac8c1
push 0xc80
push 0
push edi
call sub.msvcrt.dll_memset
movsx eax, word [esi + 0x3c]
shl eax, 2
push eax
push 0
push dword [ebp - 8]
call sub.msvcrt.dll_memset
mov eax, dword [esi]
add esp, 0x18
cmp word [eax + 0x30], 0x20
jne 0x19eabe64
lea eax, [ebp - 0x2c]
push eax
push esi
call fcn.19eaa9c7
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x48]
push eax
push edi
push 3
push esi
call fcn.19ea8850
cmp eax, 1
je 0x19eacdb4
mov eax, dword [ebp - 0x48]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x4c]
push eax
push ebx
push 1
push esi
call fcn.19ea8850
cmp eax, 1
je 0x19eacdb4
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x19eac8a3
cmp dword [ebp - 4], 0
je 0x19eac8a3
push dword [ebp - 4]
push edi
call fcn.19ea9460
push dword [ebp - 0xc]
push ebx
call fcn.19ea9460
push dword [ebp + 0xc]
lea eax, [ebp - 4]
push dword [esi + 0xc]
push dword [ebp - 8]
push dword [ebp - 0x2c]
push 3
push dword [ebp - 0x48]
push eax
push edi
call fcn.19ec4b5d
jmp 0x19eabfbf
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x48]
push eax
push edi
push 3
push esi
call fcn.19ea867b
cmp eax, 1
je 0x19eacdb4
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x4c]
push eax
push ebx
push 1
push esi
call fcn.19ea867b
cmp eax, 1
je 0x19eacdb4
cmp dword [ebp - 0xc], 0
je 0x19eac8a3
cmp dword [ebp - 4], 0
je 0x19eac8a3
push dword [ebp - 4]
push edi
call fcn.19ea9460
movsx eax, word [edi + 2]
push dword [ebp - 0xc]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 4]
shl eax, 4
movsx eax, word [eax + edi - 0xe]
push ebx
mov dword [ebp - 0x80], eax
call fcn.19ea9460
movsx eax, word [ebx + 2]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xc]
shl eax, 4
movsx eax, word [eax + ebx - 0xe]
mov dword [ebp - 0x7c], eax
test ecx, ecx
jne 0x19eabefe
inc ecx
cmp dword [ebp - 0x8c], 3
jle 0x19eabf11
cmp byte [ebp - 0xd], 1
jne 0x19eabf11
and dword [ebp - 0x78], 0
cmp ecx, 1
jle 0x19eabf26
movsx edx, word [edi + 2]
mov eax, ecx
shl eax, 4
movsx eax, word [eax + edi - 0xe]
jmp 0x19eabf2e
movsx eax, word [esi + 0x7a]
movsx edx, word [esi + 0x76]
sub eax, edx
imul ecx, ecx, 0xa
mov dword [ebp + 8], eax
imul eax, eax, 0xe
cdq
idiv ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x9c]
cmp dword [ebp + 8], eax
jge 0x19eabf6c
mov eax, dword [esi]
cmp word [eax + 0x68], 0x32
jl 0x19eabf59
movsx eax, word [eax + 0x64]
jmp 0x19eabf69
movsx edx, word [esi + 0x76]
movsx eax, word [esi + 0x7a]
sub eax, edx
imul eax, eax, 0xe
cdq
idiv ecx
mov dword [ebp - 0x54], eax
mov eax, dword [esi]
cmp word [eax + 0x68], 0x5a
jl 0x19eabf7c
movsx eax, word [eax + 0x64]
mov dword [ebp - 0x54], eax
push dword [ebp + 0xc]
lea eax, [ebp - 4]
push dword [ebp - 0x6d]
push dword [ebp - 0x68]
push dword [ebp - 0x78]
push dword [ebp - 0x64]
push dword [ebp - 8]
push dword [ebp - 0x50]
push dword [ebp - 0xb0]
push dword [ebp - 0x80]
push dword [ebp - 0x88]
push dword [ebp - 0x5c]
push dword [ebp - 0x74]
push dword [ebp - 0x2c]
push dword [ebp - 0x54]
push 3
push dword [ebp - 0x48]
push eax
push edi
push esi
call fcn.19ec6193
mov byte [ebp + 0xb], al
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [ebp - 0x4c]
jg 0x19eabfca
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
jne 0x19eabfcf
inc ecx
movsx edx, word [esi + 0x76]
movsx eax, word [esi + 0x7a]
sub eax, edx
add ecx, ecx
cdq
idiv ecx
movzx ecx, word [esi + 0x3c]
push ecx
push dword [ebp - 8]
push eax
push esi
push dword [ebp - 4]
mov dword [ebp - 0x58], eax
push edi
call fcn.19ec47ef
mov eax, dword [esi]
cmp word [eax + 0x30], 0x20
jne 0x19eac063
push dword [ebp + 0xc]
lea eax, [ebp - 0xc]
push dword [esi + 0xc]
push dword [ebp - 8]
push dword [ebp - 0x2c]
push 1
push dword [ebp - 0x4c]
push eax
push ebx
call fcn.19ec4b5d
mov byte [ebp + 0xb], al
cmp al, 1
jne 0x19eac26a
push dword [ebp + 0xc]
lea eax, [ebp - 4]
push dword [esi + 0xc]
push dword [ebp - 8]
push dword [ebp - 0x2c]
push 3
push dword [ebp - 0x48]
push eax
push edi
call fcn.19ec4b5d
mov byte [ebp + 0xb], al
cmp al, 1
jne 0x19eac26a
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x58]
push esi
push dword [ebp - 4]
push edi
call fcn.19ec47ef
jmp 0x19eac26a
cmp byte [ebp + 0xb], 1
jne 0x19eac19f
and dword [ebp - 0x30], 0
mov eax, dword [esi + 0x40]
jmp 0x19eac0ac
cmp dword [eax], 3
jne 0x19eac0a9
cmp byte [eax + 4], 0x65
jne 0x19eac0a9
movsx eax, word [eax + 0x12]
mov ecx, dword [esi + 0x14]
mov edx, dword [ebp - 8]
add eax, eax
movsx ecx, word [eax + ecx]
movsx ecx, word [edx + ecx*2]
mov edx, dword [esi + 0xc]
movsx eax, word [eax + edx]
sub eax, ecx
cmp eax, dword [ebp - 0x30]
jle 0x19eac0a6
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp + 8], eax
test eax, eax
jne 0x19eac076
push dword [ebp - 0x30]
lea eax, [ebp - 4]
push dword [ebp - 8]
push eax
push edi
push esi
call fcn.19ec5cc5
push dword [ebp + 0xc]
mov byte [ebp - 0x69], al
push dword [ebp - 0x6d]
lea eax, [ebp - 4]
push dword [ebp - 0x68]
push dword [ebp - 0x78]
push dword [ebp - 0x64]
push dword [ebp - 8]
push dword [ebp - 0x50]
push dword [ebp - 0xb0]
push dword [ebp - 0x80]
push dword [ebp - 0x88]
push dword [ebp - 0x5c]
push dword [ebp - 0x74]
push dword [ebp - 0x2c]
push dword [ebp - 0x54]
push 3
push dword [ebp - 0x48]
push eax
push edi
push esi
call fcn.19ec6193
mov byte [ebp + 0xb], al
cmp al, 1
je 0x19eac114
cmp byte [ebp - 0x69], 1
jne 0x19eac129
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x58]
push esi
push dword [ebp - 4]
push edi
call fcn.19ec47ef
cmp byte [ebp + 0xb], 1
jne 0x19eac19f
and dword [ebp - 0x30], 0
mov eax, dword [esi + 0x40]
jmp 0x19eac16e
cmp dword [eax], 3
jne 0x19eac16b
cmp byte [eax + 4], 0x65
jne 0x19eac16b
movsx eax, word [eax + 0x12]
mov ecx, dword [esi + 0x14]
mov edx, dword [ebp - 8]
add eax, eax
movsx ecx, word [eax + ecx]
movsx ecx, word [edx + ecx*2]
mov edx, dword [esi + 0xc]
movsx eax, word [eax + edx]
sub eax, ecx
cmp eax, dword [ebp - 0x30]
jle 0x19eac168
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp + 8], eax
test eax, eax
jne 0x19eac138
push dword [ebp - 0x30]
lea eax, [ebp - 4]
push dword [ebp - 8]
push eax
push edi
push esi
call fcn.19ec5cc5
cmp al, 1
jne 0x19eac19f
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x58]
push esi
push dword [ebp - 4]
push edi
call fcn.19ec47ef
mov ecx, dword [ebp - 0xc]
and dword [ebp - 0x64], 0
test ecx, ecx
jle 0x19eac1d0
lea eax, [ebx + 4]
mov dword [ebp + 8], ecx
movsx ecx, word [eax + 2]
mov edx, dword [ebp - 8]
movsx ecx, word [edx + ecx*2]
movsx edx, word [eax]
sub ecx, edx
cmp dword [ebp - 0x64], ecx
jge 0x19eac1c8
mov dword [ebp - 0x64], ecx
add eax, 0x10
dec dword [ebp + 8]
jne 0x19eac1b0
push dword [ebp - 0x50]
lea eax, [ebp - 0xc]
push dword [ebp - 8]
push dword [esi + 0xc]
push eax
push ebx
call fcn.19ec4db4
push dword [ebp + 0xc]
lea eax, [ebp - 0xc]
push dword [ebp - 0x6d]
push dword [ebp - 0x68]
push dword [ebp - 0x78]
push dword [ebp - 0x64]
push dword [ebp - 8]
push dword [ebp - 0x50]
push dword [ebp - 0xac]
push dword [ebp - 0x7c]
push dword [ebp - 0x84]
push dword [ebp - 0x5c]
push dword [ebp - 0x74]
push dword [ebp - 0x2c]
push dword [ebp - 0x54]
push 1
push dword [ebp - 0x4c]
push eax
push ebx
push esi
call fcn.19ec6193
mov byte [ebp + 0xb], al
cmp al, 1
jne 0x19eac26a
push dword [ebp + 0xc]
lea eax, [ebp - 0xc]
push dword [ebp - 0x6d]
push dword [ebp - 0x68]
push dword [ebp - 0x78]
push dword [ebp - 0x64]
push dword [ebp - 8]
push dword [ebp - 0x50]
push dword [ebp - 0xac]
push dword [ebp - 0x7c]
push dword [ebp - 0x84]
push dword [ebp - 0x5c]
push dword [ebp - 0x74]
push dword [ebp - 0x2c]
push dword [ebp - 0x54]
push 1
push dword [ebp - 0x4c]
push eax
push ebx
push esi
call fcn.19ec6193
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x18]
push dword [ebp - 0x58]
push esi
push dword [ebp - 0xc]
push ebx
call fcn.19ec4889
push esi
push dword [ebp - 0x60]
call fcn.19ec4a37
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
push dword [ebp - 4]
mov dword [ebp - 0x34], eax
push dword [ebp - 0xc]
mov eax, dword [ebp - 0x60]
push dword [eax]
push dword [ebp - 8]
push dword [ebp - 0x18]
push edi
push ebx
push esi
call fcn.19ec5009
test eax, eax
jne 0x19eacdb4
mov eax, dword [esi]
cmp word [eax + 0x30], 0x20
je 0x19eac8dd
push dword [ebp + 0xc]
lea eax, [ebp - 0xb0]
push dword [ebp - 0x50]
push dword [ebp - 8]
push dword [ebp - 0x18]
push eax
lea eax, [ebp - 0xac]
push eax
push edi
push dword [ebp - 4]
push dword [ebp - 0xc]
push dword [ebp - 0x14]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push esi
call fcn.19ec656e
cmp eax, 0x64
mov dword [ebp - 0x30], eax
jge 0x19eac5df
xor eax, eax
cmp dword [ebp - 0xc], eax
mov byte [ebp - 0x6d], 0
mov byte [ebp - 0x68], 0
jle 0x19eac324
mov ecx, ebx
xor edx, edx
mov word [ecx], dx
inc eax
add ecx, 0x10
cmp eax, dword [ebp - 0xc]
jl 0x19eac316
xor ecx, ecx
cmp dword [ebp - 4], ecx
jle 0x19eac33b
mov eax, edi
xor edx, edx
mov word [eax], dx
inc ecx
add eax, 0x10
cmp ecx, dword [ebp - 4]
jl 0x19eac32d
push dword [ebp + 0xc]
push 1
push 0
push dword [esi + 0xc]
push dword [ebp - 8]
push dword [ebp - 0x80]
push dword [ebp - 0x88]
push 3
push dword [ebp - 0x2c]
push dword [ebp - 0x48]
push dword [ebp - 4]
push edi
call fcn.19ea94df
push dword [ebp + 0xc]
push 1
push 0
push 2
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 8]
push dword [ebp - 0x80]
push dword [ebp - 0x88]
push 3
push dword [ebp - 0x2c]
push dword [ebp - 4]
push edi
call fcn.19ea9a8e
push dword [ebp + 0xc]
push 1
push 0
push dword [esi + 0xc]
push dword [ebp - 8]
push dword [ebp - 0x7c]
push dword [ebp - 0x84]
push 1
push dword [ebp - 0x2c]
push dword [ebp - 0x4c]
push dword [ebp - 0xc]
push ebx
call fcn.19ea94df
push dword [ebp + 0xc]
push 1
push 0
push 2
push dword [esi + 0xc]
push dword [esi + 4]
push dword [ebp - 8]
push dword [ebp - 0x7c]
push dword [ebp - 0x84]
push 1
push dword [ebp - 0x2c]
push dword [ebp - 0xc]
push ebx
call fcn.19ea9a8e
cmp dword [ebp - 0xc], 0
jle 0x19eac405
mov edx, dword [ebp - 0xc]
mov ecx, ebx
movzx eax, word [ecx]
cmp ax, 0x14
je 0x19eac3fb
cmp ax, 0x28
je 0x19eac3fb
cmp ax, 0x3c
jne 0x19eac3ff
mov byte [ebp - 0x68], 1
add ecx, 0x10
dec edx
jne 0x19eac3e6
mov eax, dword [ebp - 4]
test eax, eax
jle 0x19eac42c
mov edx, edi
mov dword [ebp - 0x28], eax
movzx ecx, word [edx]
cmp cx, 0x1e
je 0x19eac420
cmp cx, 0x32
jne 0x19eac424
mov byte [ebp - 0x6d], 1
add edx, 0x10
dec dword [ebp - 0x28]
jne 0x19eac411
cmp byte [ebp - 0x68], 1
je 0x19eac438
cmp byte [ebp - 0x6d], 1
jne 0x19eac43b
inc dword [ebp - 0x30]
cmp byte [ebp - 0x50], 0
jne 0x19eac49f
cmp dword [ebp - 0x30], 0
jle 0x19eac5a0
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xa8], ecx
lea ebx, [edi + 0x640]
jmp 0x19eac492
mov ecx, dword [eax]
cmp ecx, 1
je 0x19eac489
cmp ecx, 3
jne 0x19eac48f
mov cl, byte [eax + 4]
mov byte [eax + 0xc], cl
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x19eac47d
mov byte [ebp - 0x50], 1
jmp 0x19eabda9
cmp byte [ebp - 0x50], 1
jne 0x19eac5a0
mov edx, dword [ebp - 0x30]
cmp edx, 3
jl 0x19eac4db
cmp dword [ebp - 0xa0], 3
jl 0x19eac4db
xor ecx, ecx
inc ecx
cmp dword [ebp - 0xc], ecx
jle 0x19eac4c6
cmp eax, ecx
jg 0x19eac4db
cmp dword [ebp - 0xa8], ecx
jle 0x19eac5f1
cmp dword [ebp - 0x3c], ecx
jle 0x19eac5f1
cmp edx, dword [ebp - 0xa0]
jl 0x19eac5a0
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0x30], eax
jne 0x19eac4f6
add dword [ebp - 0x1c], 0xa
mov eax, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x94]
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x40]
jmp 0x19eac52b
mov ecx, dword [eax]
cmp ecx, 1
je 0x19eac522
cmp ecx, 3
jne 0x19eac528
mov cl, byte [eax + 0xc]
mov byte [eax + 4], cl
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x19eac516
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x18]
push dword [ebp - 0x58]
push esi
push dword [ebp - 0xc]
push dword [ebp - 0x94]
call fcn.19ec4889
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x58]
push esi
push dword [ebp - 4]
push dword [ebp - 0x98]
call fcn.19ec47ef
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x60]
push dword [ebp - 4]
push dword [ebp - 0xc]
push dword [eax]
push dword [ebp - 8]
push dword [ebp - 0x18]
push dword [ebp - 0x98]
push dword [ebp - 0x94]
push esi
call fcn.19ec5009
test eax, eax
jne 0x19eacdb4
mov eax, dword [esi]
cmp word [eax + 0x30], 0x10
jne 0x19eac606
cmp byte [ebp - 0xd], 1
jne 0x19eac606
push dword [ebp - 8]
push dword [ebp - 0x18]
push esi
call fcn.19ec54b4
cmp al, 1
jne 0x19eac606
mov eax, dword [esi]
add dword [ebp - 0x1c], 0xa
cmp word [eax + 0x68], 0x5a
jl 0x19eac5d3
cmp word [eax + 0x6a], 0x5a
jge 0x19eac5f9
push 0x20
pop ecx
mov word [eax + 0x30], cx
jmp 0x19eabda9
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 4]
add dword [ebp - 0x1c], 0x64
push edi
jmp 0x19eabda2
movzx ecx, word [esi + 0x3c]
push ecx
push eax
jmp 0x19eac5e7
movzx eax, word [esi + 0x3c]
add dword [ebp - 0x1c], 0x5a
push eax
push 0
jmp 0x19eac5eb
movzx eax, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
and eax, 4
or eax, 8
shr eax, 2
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
movsx eax, word [eax]
add eax, eax
movsx ecx, word [ecx + eax]
movsx eax, word [edx + eax]
sub eax, ecx
imul eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x14]
mov byte [ebp - 0xd], 0
mov byte [ebp + 0xb], 0
jg 0x19eac6ac
add dword [ebp - 0x1c], 5
cmp dword [ebp - 0xc], 1
jl 0x19eac8dd
cmp dword [ebp - 4], 1
jl 0x19eac8dd
mov ax, word [ebx + 2]
cmp ax, word [edi + 2]
push 0x10
jle 0x19eac689
movsx eax, word [ebx + 6]
mov ecx, edx
movsx ecx, word [ecx + eax*2]
movsx eax, word [ebx + 4]
sub eax, ecx
push eax
push dword [ebp - 4]
lea eax, [ebp - 0xc]
push edi
push eax
push ebx
call fcn.19ec535c
mov byte [ebp + 0xb], al
jmp 0x19eac6ac
movsx eax, word [edi + 6]
mov ecx, dword [ebp - 0x18]
movsx ecx, word [ecx + eax*2]
movsx eax, word [edi + 4]
sub eax, ecx
push eax
push dword [ebp - 0xc]
lea eax, [ebp - 4]
push ebx
push eax
push edi
call fcn.19ec535c
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
movsx eax, word [eax + ecx*2 - 2]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
add eax, eax
movsx ecx, word [eax + ecx]
movsx eax, word [eax + edx]
sub eax, ecx
imul eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x14]
jg 0x19eac750
add dword [ebp - 0x1c], 5
cmp dword [ebp - 0xc], 1
jl 0x19eac8dd
cmp dword [ebp - 4], 1
jl 0x19eac8dd
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
shl eax, 4
add eax, ebx
mov dx, word [eax - 0xe]
shl ecx, 4
add ecx, edi
cmp dx, word [ecx - 0xe]
push 0x20
jg 0x19eac72d
movsx ecx, word [eax - 0xa]
mov edx, dword [ebp - 8]
movsx eax, word [eax - 0xc]
movsx ecx, word [edx + ecx*2]
sub eax, ecx
push eax
push dword [ebp - 4]
lea eax, [ebp - 0xc]
push edi
push eax
push ebx
call fcn.19ec535c
mov byte [ebp + 0xb], al
jmp 0x19eac750
movsx eax, word [ecx - 0xa]
mov edx, dword [ebp - 0x18]
movsx edx, word [edx + eax*2]
movsx eax, word [ecx - 0xc]
sub eax, edx
push eax
push dword [ebp - 0xc]
lea eax, [ebp - 4]
push ebx
push eax
push edi
call fcn.19ec535c
mov byte [ebp - 0xd], al
cmp byte [ebp + 0xb], 1
jne 0x19eac76e
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x18]
push dword [ebp - 0x58]
push esi
push dword [ebp - 0xc]
push ebx
call fcn.19ec4889
cmp byte [ebp - 0xd], 1
jne 0x19eac789
movzx eax, word [esi + 0x3c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x58]
push esi
push dword [ebp - 4]
push edi
call fcn.19ec47ef
cmp byte [ebp + 0xb], 1
je 0x19eac795
cmp byte [ebp - 0xd], 1
jne 0x19eac7c5
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x60]
push dword [ebp - 4]
push dword [ebp - 0xc]
push dword [eax]
push dword [ebp - 8]
push dword [ebp - 0x18]
push edi
push ebx
push esi
call fcn.19ec5009
test eax, eax
jne 0x19eacdb4
movzx eax, word [esi + 0x3c]
movsx ebx, ax
mov byte [ebp + 0xf], 0
test ebx, ebx
jle 0x19eac813
mov ecx, dword [ebp - 0x18]
mov eax, dword [esi + 0x38]
mov edx, dword [ebp - 8]
sub eax, ecx
sub edx, ecx
mov dword [ebp + 8], edx
mov dword [ebp - 0x28], ebx
cmp word [eax + ecx], 0xffff
je 0x19eac802
movsx edx, word [edx + ecx]
movsx ebx, word [ecx]
sub edx, ebx
test edx, edx
mov edx, dword [ebp + 8]
jg 0x19eac802
mov byte [ebp + 0xf], 1
inc ecx
inc ecx
dec dword [ebp - 0x28]
jne 0x19eac7e7
cmp byte [ebp + 0xf], 1
je 0x19eac5df
cmp dword [ebp - 0x14], 0xc
mov ecx, dword [esi]
movsx eax, word [ecx + 0x64]
mov dword [ebp + 0xc], eax
jl 0x19eac5df
mov edx, eax
imul edx, edx, 3
cmp dword [ebp - 0x14], edx
jle 0x19eac83b
cmp word [ecx + 0x68], 0x4b
jge 0x19eac5df
inc eax
push 3
cdq
pop ebx
idiv ebx
cmp dword [ebp - 0x14], eax
jge 0x19eac87d
movzx eax, word [ecx + 0x68]
cmp ax, 0x5a
jl 0x19eac863
cmp dword [ebp - 4], ebx
jle 0x19eac5df
cmp dword [ebp - 0xc], ebx
jle 0x19eac5df
cmp ax, 0x4b
jl 0x19eac87d
cmp dword [ebp - 4], 2
jle 0x19eac5df
cmp dword [ebp - 0xc], 2
jle 0x19eac5df
mov eax, dword [ebp + 0xc]
sar eax, 1
cmp dword [ebp - 0x14], eax
jge 0x19eac8dd
cmp word [ecx + 0x68], 0x37
jl 0x19eac8dd
cmp dword [ebp - 4], 1
jle 0x19eac5df
cmp dword [ebp - 0xc], 1
jg 0x19eac8dd
jmp 0x19eac5df
push dword [ebp - 0x8c]
add dword [ebp - 0x1c], 0x64
push esi
call fcn.19ec5a96
mov byte [ebp + 0xc], al
movzx eax, word [esi + 0x3c]
push eax
push 0
push edi
push dword [ebp + 0xc]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x18]
push dword [ebp - 8]
push esi
call fcn.19ec5afd
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
add eax, ecx
cmp eax, 6
jg 0x19eac9a3
mov eax, dword [ebp - 0x9c]
lea ecx, [eax + 2]
sar ecx, 2
mov edx, eax
sub edx, ecx
mov ecx, dword [ebp - 0x14]
cmp ecx, edx
jle 0x19eac9a3
test eax, eax
jle 0x19eac9a3
lea eax, [ecx + 3]
cdq
push 6
pop edi
idiv edi
and dword [ebp + 0xc], 0
mov ebx, eax
add dword [ebp - 0x24], ebx
sub dword [ebp - 0x20], ebx
neg eax
lea eax, [ecx + eax*2]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp ax, word [esi + 0x3c]
mov dword [ebp - 0x28], ebx
jge 0x19eac9a3
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
sub edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [esi + 0x38]
mov edi, dword [ebp + 0xc]
cmp word [eax + edi*2], 0xffff
je 0x19eac995
movzx edi, word [ecx + edx]
movsx eax, word [ecx]
movsx edx, di
sub edx, eax
mov eax, dword [ebp - 0x9c]
imul edx, ebx
mov dword [ebp - 0x90], edx
cdq
sub eax, edx
mov edx, dword [ebp - 0x90]
sar eax, 1
add eax, edx
cdq
idiv dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x28]
cmp eax, ebx
jle 0x19eac989
mov eax, ebx
mov edx, dword [ebp + 8]
sub edi, eax
mov word [ecx + edx], di
add word [ecx], ax
inc dword [ebp + 0xc]
movsx eax, word [esi + 0x3c]
inc ecx
inc ecx
cmp dword [ebp + 0xc], eax
jl 0x19eac944
cmp dword [ebp - 0x14], 0xc
jge 0x19eac9e9
add dword [ebp - 0x1c], 0x14
xor eax, eax
xor ecx, ecx
cmp ax, word [esi + 0x3c]
jge 0x19eac9dd
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
sub edx, eax
mov edi, dword [esi + 0x38]
cmp word [edi + ecx*2], 0xffff
je 0x19eac9d2
add word [edx + eax], 6
add word [eax], 0xfffa
movsx edi, word [esi + 0x3c]
inc ecx
inc eax
inc eax
cmp ecx, edi
jl 0x19eac9bf
add dword [ebp - 0x14], 0xc
sub dword [ebp - 0x24], 6
add dword [ebp - 0x20], 6
push dword [ebp - 8]
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
push ebx
push esi
push dword [ebp - 0x34]
push dword [eax]
call fcn.19ec591a
cmp eax, 1
je 0x19eacdb4
cmp dword [ebp - 0x38], 3
jge 0x19eaca2b
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [esi]
push dword [eax + 0x78]
call fcn.19ea863b
test eax, eax
setg byte [ebp - 0x3d]
mov eax, dword [esi]
and dword [ebp + 0xc], 0
cmp word [eax + 0x30], 0x20
mov edi, 0x7fff
jne 0x19eacab5
xor eax, eax
cmp ax, word [esi + 0x3c]
jge 0x19eacbb7
mov eax, dword [ebp - 8]
sub eax, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x38]
mov ecx, dword [ebp + 0xc]
lea ebx, [eax + ecx*2]
movzx eax, word [ebx]
cmp ax, 0xffff
je 0x19eacaa0
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp + 8]
movsx ecx, word [eax]
movsx eax, word [edx + eax]
xor edx, edx
inc edx
sub eax, ecx
cmp eax, edx
mov dword [ebp - 0x28], edx
jl 0x19eaca82
mov dword [ebp - 0x28], eax
movzx eax, word [ebx]
cwde
sub eax, ecx
imul eax, eax, 0x50
cdq
idiv dword [ebp - 0x28]
add eax, 0x2796
cmp eax, edi
movzx eax, ax
jl 0x19eaca9d
mov eax, edi
mov word [ebx], ax
movsx eax, word [esi + 0x3c]
inc dword [ebp + 0xc]
add dword [ebp - 0x3c], 2
cmp dword [ebp + 0xc], eax
jl 0x19eaca54
jmp 0x19eacbb7
xor eax, eax
cmp ax, word [esi + 0x3c]
jge 0x19eacbb7
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
sub eax, ebx
mov dword [ebp + 8], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [esi + 0x38]
add edx, edx
cmp word [edx + eax], 0xffff
je 0x19eacba5
cmp byte [ebp - 0x3d], 0
je 0x19eacb13
mov eax, dword [ebp + 8]
lea ecx, [eax + ebx]
mov ax, word [ebp - 0xb4]
mov word [ecx], ax
mov eax, dword [ebp - 0xbc]
mov word [ebx], ax
cwde
mov dword [ebp - 0x90], eax
movsx eax, word [ecx]
mov ecx, dword [ebp - 0x90]
sub eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x38]
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx + ebx]
add eax, edx
mov dword [ebp - 0x3c], eax
movzx eax, word [eax]
cmp ax, cx
jg 0x19eacb49
movzx edx, word [ebx]
cmp ax, dx
jl 0x19eacb44
movsx edx, dx
movsx ecx, cx
sub ecx, edx
cmp ecx, 1
jge 0x19eacb88
xor ecx, ecx
inc ecx
jmp 0x19eacb88
cmp ax, cx
jle 0x19eacb72
cmp dword [ebp - 0x14], 1
jge 0x19eacb58
mov dword [ebp - 0x28], 1
jmp 0x19eacb5e
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
cwde
movsx ecx, cx
sub eax, ecx
imul eax, eax, 0x50
cdq
idiv dword [ebp - 0x28]
add eax, 0x27e6
jmp 0x19eacb96
movzx edx, word [ebx]
cmp ax, dx
jge 0x19eacba5
mov ecx, dword [ebp - 0x14]
cmp ecx, 1
jge 0x19eacb85
xor ecx, ecx
inc ecx
movsx edx, dx
cwde
sub eax, edx
imul eax, eax, 0x50
cdq
idiv ecx
add eax, 0x2796
cmp eax, edi
movzx eax, ax
jl 0x19eacb9f
mov eax, edi
mov ecx, dword [ebp - 0x3c]
mov word [ecx], ax
inc dword [ebp + 0xc]
movsx eax, word [esi + 0x3c]
inc ebx
inc ebx
cmp dword [ebp + 0xc], eax
jl 0x19eacacc
and dword [ebp + 0xc], 0
xor eax, eax
cmp ax, word [esi + 0x3c]
jge 0x19eacc0c
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x38]
add eax, eax
cmp word [eax + ecx], 0xffff
je 0x19eacc00
mov ebx, dword [ebp - 0x14]
cmp ebx, 1
jge 0x19eacbdd
xor ebx, ebx
inc ebx
mov ecx, dword [esi + 0x34]
movsx edx, word [esi + 0x76]
add ecx, eax
movsx eax, word [ecx]
sub eax, edx
imul eax, eax, 0x50
cdq
idiv ebx
add eax, 0x50
cmp eax, edi
movzx eax, ax
jl 0x19eacbfd
mov eax, edi
mov word [ecx], ax
movsx eax, word [esi + 0x3c]
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], eax
jl 0x19eacbc3
push dword [ebp - 0x14]
call fcn.19e9fd88
mov ecx, dword [esi]
mov word [ecx + 0x6c], ax
push dword [ebp - 0x20]
call fcn.19e9fd88
mov ecx, dword [esi]
mov word [ecx + 0x6e], ax
mov eax, dword [esi]
xor ecx, ecx
mov word [eax + 0x72], cx
mov eax, dword [esi]
mov word [eax + 0x70], cx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x64
jge 0x19eacc68
cmp dword [ebp - 0xc], 1
jl 0x19eacc53
cmp dword [ebp - 4], 1
jl 0x19eacc53
mov ecx, dword [esi]
push 0x2d
pop edx
mov word [ecx + 0x70], dx
cmp dword [ebp - 0xc], 2
jl 0x19eacc68
cmp dword [ebp - 4], 2
jl 0x19eacc68
mov ecx, dword [esi]
push 0x32
pop edx
mov word [ecx + 0x70], dx
cmp eax, 0xa
jge 0x19eacc97
cmp dword [ebp - 0xc], 3
jl 0x19eacc82
cmp dword [ebp - 4], 3
jl 0x19eacc82
mov ecx, dword [esi]
push 0x37
pop edx
mov word [ecx + 0x70], dx
cmp dword [ebp - 0xc], 4
jl 0x19eacc97
cmp dword [ebp - 4], 4
jl 0x19eacc97
mov ecx, dword [esi]
push 0x4b
pop edx
mov word [ecx + 0x70], dx
test eax, eax
jne 0x19eaccb0
cmp dword [ebp - 0xc], 5
jl 0x19eaccb5
cmp dword [ebp - 4], 5
jl 0x19eaccb5
mov ecx, dword [esi]
push 0x5a
pop edx
mov word [ecx + 0x70], dx
cmp eax, 0x64
jge 0x19eaccd3
cmp dword [ebp - 4], 1
jl 0x19eaccc4
mov ecx, dword [esi]
push 0x2d
pop edx
mov word [ecx + 0x72], dx
cmp dword [ebp - 4], 2
jl 0x19eaccd3
mov ecx, dword [esi]
push 0x32
pop edx
mov word [ecx + 0x72], dx
cmp eax, 0xa
jge 0x19eaccf6
cmp dword [ebp - 4], 3
jl 0x19eacce7
mov ecx, dword [esi]
push 0x37
pop edx
mov word [ecx + 0x72], dx
cmp dword [ebp - 4], 4
jl 0x19eaccf6
mov ecx, dword [esi]
push 0x4b
pop edx
mov word [ecx + 0x72], dx
test eax, eax
jne 0x19eacd09
cmp dword [ebp - 4], 5
jl 0x19eacd09
mov eax, dword [esi]
push 0x5a
pop ecx
mov word [eax + 0x72], cx
movsx ecx, word [esi + 0x3c]
and dword [ebp + 8], 0
and dword [ebp + 0xc], 0
test ecx, ecx
jle 0x19eacd54
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x38]
sub eax, edx
mov ebx, ecx
cmp word [eax + edx], 0xffff
je 0x19eacd3f
movsx edi, word [edx]
mov ecx, edi
sub ecx, dword [ebp - 0x20]
jns 0x19eacd39
mov ecx, dword [ebp - 0x20]
sub ecx, edi
add dword [ebp + 8], ecx
inc dword [ebp + 0xc]
inc edx
inc edx
dec ebx
jne 0x19eacd23
cmp dword [ebp + 0xc], ebx
jle 0x19eacd54
mov eax, dword [ebp + 8]
cdq
idiv dword [ebp + 0xc]
mov ecx, eax
jmp 0x19eacd57
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax + 2]
push 5
cdq
pop edi
idiv edi
cmp ecx, eax
jl 0x19eacd78
mov eax, dword [esi]
cmp word [eax + 0x72], 0x32
jl 0x19eacd78
push 0x32
pop ecx
mov word [eax + 0x72], cx
mov eax, dword [esi]
cmp word [eax + 0x6a], 0x64
jne 0x19eacd94
cmp word [eax + 0x68], 0x64
jne 0x19eacd94
xor ecx, ecx
mov word [eax + 0x72], cx
mov eax, dword [esi]
mov word [eax + 0x70], cx
push dword [ebp - 8]
mov eax, dword [ebp - 0x60]
push dword [ebp - 0x18]
push esi
push dword [ebp - 0x34]
push dword [eax]
call fcn.19ec591a
cmp eax, 1
je 0x19eacdb4
and dword [ebp - 0xb8], 0
push dword [ebp - 0xa4]
call fcn.19e7b168
xor edi, edi
cmp dword [ebp - 0x44], edi
je 0x19eacdce
push dword [ebp - 0x44]
call fcn.19e7b168
mov ax, word [ebp - 0xb8]
pop edi
pop esi
pop ebx
leave
ret 8