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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b8417
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x100]
mov dword fs:[0], eax
mov ebx, edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], ecx
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x54]
push 1
mov byte [esp + 0x15], 0
mov dword [eax], 0
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
mov eax, dword [ebp + 0x34]
mov byte [eax], 0
mov eax, dword [ebp + 0x30]
mov dword [eax], 0
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov eax, dword [ebp + 0x24]
mov dword [eax], 0
mov eax, dword [ebp + 0x20]
mov dword [eax], 0
call fcn.100940a0
mov esi, eax
mov dword [esp + 0x108], 0
mov ecx, dword [ebp + 0x28]
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
cmp ecx, esi
je 0x1008d73c
mov eax, dword [ecx]
test eax, eax
je 0x1008d718
push eax
call edi
mov ecx, dword [ebp + 0x28]
add esp, 4
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esp + 0x108], 0xffffffff
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1008d76d
push eax
call edi
add esp, 4
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov eax, dword [ebp + 0x18]
mov edx, dword [esp + 0x38]
mov dword [eax], 0
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov eax, dword [edx + 4]
mov dword [esp + 0x68], eax
mov dword [ebx], eax
test eax, eax
je 0x1008e3b3
mov ecx, dword [ebp + 0x2c]
mov eax, dword [edx]
mov dword [esp + 0x34], eax
mov ecx, dword [ecx + 0x14]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x84]
mov edi, dword [eax + 0x10]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
test ax, ax
je 0x1008d7e7
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
test eax, eax
je 0x1008d7d7
mov eax, dword [ecx + 8]
mov eax, dword [eax]
jmp 0x1008d7d9
xor eax, eax
mov eax, dword [eax]
cmp edi, dword [eax + 0xc]
jae 0x1008d7e7
mov eax, 0xffff
jmp 0x1008d80d
push 1
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x54]
push eax
push edi
call fcn.10099ab0
test al, al
je 0x1008e3b3
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x38]
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x28], eax
cmp edi, dword [ecx + 4]
jae 0x1008e3b3
test edi, edi
je 0x1008e3b3
mov esi, 0xffff
cmp ax, si
je 0x1008e3b3
cmp edi, dword [edx + 4]
jae 0x1008e3b3
mov esi, dword [ecx + 0x14]
test esi, esi
je 0x1008d84b
mov ebx, dword [esi + 0x84]
jmp 0x1008d84d
xor ebx, ebx
call fcn.10095290
movzx eax, ax
mov ecx, ebx
push eax
call fcn.100955a0
test eax, eax
je 0x1008e3b3
mov ecx, dword [ebp + 0x2c]
call fcn.100952e0
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x78], eax
test esi, esi
je 0x1008d880
mov ecx, dword [esi + 0x84]
jmp 0x1008d882
xor ecx, ecx
test esi, esi
je 0x1008d88e
mov edx, dword [esi + 0x84]
jmp 0x1008d890
xor edx, edx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
mov ecx, edx
sar eax, 2
dec eax
push eax
call fcn.100955a0
mov ebx, dword [eax]
test esi, esi
je 0x1008d8b4
mov eax, dword [esi + 0x84]
mov dword [esp + 0x44], eax
jmp 0x1008d8bc
mov dword [esp + 0x44], 0
mov ecx, dword [ebp + 0x2c]
call fcn.10095290
mov ecx, dword [esp + 0x44]
movzx eax, ax
push eax
call fcn.100955a0
mov eax, dword [eax]
test ebx, ebx
je 0x1008e3b3
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x2c], eax
test esi, esi
je 0x1008d903
mov ecx, dword [esi + 0x84]
jmp 0x1008d905
xor ecx, ecx
mov eax, dword [ecx + 0xc]
xor ebx, ebx
sub eax, dword [ecx + 8]
sar eax, 2
dec eax
movzx edx, ax
mov dword [esp + 0x44], edx
test esi, esi
je 0x1008d924
mov ecx, dword [esi + 0x84]
jmp 0x1008d926
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
cmp dword [esp + 0x48], 0x2300
movzx eax, ax
jae 0x1008d9bf
lea ecx, [eax - 1]
lea eax, [edx - 1]
mov dword [esp + 0x4c], ecx
movzx eax, ax
mov dword [esp + 0x3c], eax
movzx eax, bx
cmp eax, ecx
jge 0x1008e3b3
test dx, dx
je 0x1008e3b3
mov ecx, dword [ebp + 0x2c]
call fcn.10095320
mov ecx, eax
mov eax, dword [esp + 0x3c]
movzx edx, ax
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
cmp edx, eax
jae 0x1008d98b
mov eax, dword [ecx + 8]
mov eax, dword [eax + edx*4]
jmp 0x1008d98d
xor eax, eax
mov eax, dword [eax]
inc ebx
mov edx, dword [esp + 0x44]
add dword [esp + 0x3c], 0xffff
add edx, 0xffff
mov dword [esp + 0x44], edx
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
cmp eax, 0x2300
jb 0x1008d951
test esi, esi
je 0x1008d9cb
mov ecx, dword [esi + 0x84]
jmp 0x1008d9cd
xor ecx, ecx
mov ebx, dword [esp + 0x28]
push ebx
call fcn.100955a0
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x6c], eax
test esi, esi
je 0x1008d9ec
mov ecx, dword [esi + 0x84]
jmp 0x1008d9ee
xor ecx, ecx
push ebx
call fcn.100955a0
lea ecx, [esp + 0x7c]
mov dword [esp + 0x24], 1
mov byte [esp + 0x4c], 0
mov eax, dword [eax]
mov esi, dword [eax + 0x10]
xor al, al
mov byte [esp + 0x1f], al
mov byte [esp + 0x15], al
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], eax
call fcn.10096180
mov dword [esp + 0x108], 1
lea ecx, [esp + 0x84]
call fcn.10096180
mov byte [esp + 0x108], 2
xor al, al
mov ebx, dword [esp + 0x50]
mov byte [esp + 0x12], al
cmp edi, ebx
jb 0x1008da66
mov eax, dword [esp + 0x48]
add eax, ebx
cmp edi, eax
jbe 0x1008e371
mov eax, dword [esp + 0x18]
cmp edi, eax
jb 0x1008da7a
add eax, dword [esp + 0x2c]
cmp edi, eax
jbe 0x1008e371
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x34]
dec edx
lea eax, [esi + ebx]
lea ecx, [eax - 1]
add edx, eax
test ecx, ecx
je 0x1008daa5
mov esi, dword [esp + 0x68]
cmp ecx, ebx
jbe 0x1008daa5
cmp ecx, esi
jae 0x1008daa5
mov al, byte [edx]
dec edx
test al, al
jne 0x1008daa5
dec ecx
jne 0x1008da93
mov ebx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x68]
mov byte [esp + 0x23], 0
mov dword [ebx], eax
add eax, 0xfffffff9
cmp eax, esi
jae 0x1008e371
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x9c]
push edi
push dword [eax + 4]
push dword [eax]
call fcn.1001d150
cmp edi, dword [ebx]
jae 0x1008e371
mov ecx, 1
jmp 0x1008daf0
cmp ecx, 0x190
jge 0x1008e371
lea eax, [edi + 6]
cmp eax, esi
jae 0x1008e371
mov edx, dword [esp + 0x34]
mov ah, byte [edi + edx]
lea esi, [edx + 1]
add esi, edi
mov byte [esp + 0x2c], ah
cmp ah, 0x66
jne 0x1008db3d
mov cl, byte [esi]
mov al, byte [edi + edx + 2]
mov bh, byte [edi + edx + 3]
mov byte [esp + 0x16], cl
mov byte [esp + 0x17], cl
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x14], 1
mov byte [esp + 0x13], al
jmp 0x1008db54
mov al, byte [esi]
mov bh, byte [edi + edx + 2]
mov byte [esp + 0x14], 0
mov byte [esp + 0x17], ah
mov byte [esp + 0x16], al
mov byte [esp + 0x13], bh
cmp byte [esp + 0x23], 0
mov bl, al
jne 0x1008dbef
cmp ecx, 0x18e
jne 0x1008dbef
cmp dword [esp + 0x28], 0
jne 0x1008db94
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + 0xb00]
cmp edx, eax
jb 0x1008db90
add edx, 0xfffff500
jmp 0x1008db99
mov edx, ecx
jmp 0x1008db99
mov edx, dword [esp + 0x28]
inc edx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x44]
push 0xff
mov byte [esp + 0x19], 0
push dword [eax]
call fcn.1001f910
add esp, 0xc
test eax, eax
je 0x1008dbe6
mov ecx, dword [ebp + 0x34]
mov edx, 0x166
mov eax, dword [esp + 0x28]
push eax
mov dword [esp + 0x28], edx
mov byte [ecx], 1
lea ecx, [esp + 0xa0]
lea edi, [eax - 1]
call fcn.1001d110
jmp 0x1008e345
mov ah, byte [esp + 0x2c]
mov byte [esp + 0x23], 1
mov dl, byte [esp + 0x17]
mov ch, byte [esp + 0x16]
mov al, dl
mov cl, byte [esp + 0x13]
add al, 0x48
cmp al, 7
ja 0x1008dca4
cmp ch, 0x4d
je 0x1008dca4
cmp cl, 0x5a
je 0x1008dca4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
cmp byte [edi + eax + 3], 0
mov eax, dword [esp + 0x18]
jne 0x1008dca4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
cmp byte [edi + eax + 4], 0
mov eax, dword [esp + 0x18]
jne 0x1008dca4
sub bh, 0x40
cmp bh, 0x2d
ja 0x1008dca4
mov bl, dl
lea eax, [edi + 5]
add bl, 0x48
mov dword [esp + 0x3c], eax
mov ecx, esi
mov byte [esp + 0x15], bl
call fcn.1001ca30
mov ecx, 0x190
mov dword [esp + 0x30], eax
sub ecx, dword [esp + 0x24]
cmp ecx, 0x1e
mov byte [esp + 0x11], 1
jg 0x1008dc7e
mov edx, 0x172
mov dword [esp + 0x24], edx
cmp byte [esp + 0x12], 0
jne 0x1008dc8e
mov eax, dword [ebp + 0x24]
mov dword [eax], 4
push 5
lea ecx, [esp + 0xa0]
add edi, 4
call fcn.1001d130
jmp 0x1008e345
mov edx, dword [esp + 0x34]
cmp ah, 0x68
jne 0x1008dd87
mov al, byte [edi + edx + 5]
cmp al, 0x58
jb 0x1008dcff
cmp al, 0x5f
ja 0x1008dcff
cmp byte [edi + edx + 3], 0
jne 0x1008dcff
cmp byte [edi + edx + 4], 0
jne 0x1008dcff
cmp cl, 0x40
jb 0x1008dcff
cmp cl, 0x6d
ja 0x1008dcff
mov bl, al
mov ecx, esi
sub bl, 0x58
mov byte [esp + 0x15], bl
call fcn.1001ca30
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x30]
mov dword [eax], edi
mov eax, 0x190
sub eax, dword [esp + 0x24]
cmp eax, 0x1e
jmp 0x1008dc6e
cmp ah, 0x68
jne 0x1008dd87
mov al, byte [edi + edx + 6]
cmp al, 0x58
jb 0x1008dd87
cmp al, 0x5f
ja 0x1008dd87
cmp byte [edi + edx + 3], 0
jne 0x1008dd87
cmp byte [edi + edx + 4], 0
jne 0x1008dd87
cmp cl, 0x40
jb 0x1008dd87
cmp cl, 0x6d
ja 0x1008dd87
mov bl, al
mov ecx, esi
sub bl, 0x58
mov byte [esp + 0x15], bl
call fcn.1001ca30
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x30]
mov byte [esp + 0x11], 1
mov dword [eax], edi
mov eax, 0x190
sub eax, dword [esp + 0x24]
cmp eax, 0x1e
jg 0x1008dd61
mov edx, 0x172
mov dword [esp + 0x24], edx
cmp byte [esp + 0x12], 0
jne 0x1008dd71
mov eax, dword [ebp + 0x24]
mov dword [eax], 4
push 6
lea ecx, [esp + 0xa0]
add edi, 5
call fcn.1001d130
jmp 0x1008e345
mov bh, byte [esp + 0x17]
cmp bh, 0x81
jne 0x1008de8e
cmp bl, 0x80
jb 0x1008dda2
cmp bl, 0x87
jbe 0x1008ded3
cmp bl, 0xa8
jb 0x1008ddb0
cmp bl, 0xaf
jbe 0x1008ded3
cmp bl, 0x90
jb 0x1008ddbe
cmp bl, 0x9f
jbe 0x1008ded3
cmp ah, 0xe9
jne 0x1008e2d0
movzx eax, byte [0x100d0d6d]
mov esi, edi
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
push ecx
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x94]
call fcn.1009d290
cmp byte [esp + 0x90], 0
je 0x1008dc8e
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
movzx ecx, byte [edi + ebx + 4]
movzx eax, byte [edi + ebx + 3]
shl cx, 8
or cx, ax
movzx eax, byte [edi + ebx + 1]
movzx edx, cx
movzx ecx, byte [edi + ebx + 2]
shl cx, 8
or cx, ax
shl edx, 0x10
movzx ebx, cx
or ebx, edx
mov byte [esp + 0x108], 3
lea eax, [esp + 0x54]
push eax
mov eax, dword [ebp + 0x2c]
push edi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x1008e23b
push 5
lea ecx, [esp + 0xa0]
add edi, 4
call fcn.1001d130
mov byte [esp + 0x108], 2
lea ecx, [esp + 0x54]
call fcn.100941a0
jmp 0x1008e345
cmp bh, 0x80
jne 0x1008deae
cmp bl, bh
jb 0x1008de9c
cmp bl, 0x87
jbe 0x1008ded3
cmp bl, 0xa8
jb 0x1008dea6
cmp bl, 0xaf
jbe 0x1008ded3
mov al, bl
add al, 0x70
cmp al, 0xf
jmp 0x1008decd
cmp bh, 0xc1
jne 0x1008ddbe
cmp bl, 0x80
jb 0x1008dec1
cmp bl, 0x87
jbe 0x1008ded3
cmp bl, 0x88
jb 0x1008ddbe
cmp bl, 0x8f
ja 0x1008ddbe
xor eax, eax
cmp byte [esp + 0x14], al
setne al
add eax, edi
add eax, edx
mov dword [esp + 0x18], eax
lea ecx, [eax + 2]
call fcn.1001ca30
sub eax, dword [esp + 0x78]
lea ecx, [esp + 0x74]
mov esi, dword [ebp + 0x2c]
push 1
push ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
push ecx
push eax
mov ecx, esi
call fcn.100951f0
test al, al
jne 0x1008df33
xor eax, eax
lea ecx, [esp + 0x9c]
cmp byte [esp + 0x14], al
sete al
lea edi, [edi + eax*2]
add edi, 7
lea eax, [edi + 1]
push eax
call fcn.1001d110
jmp 0x1008e345
mov ecx, esi
call fcn.10095320
mov esi, dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
sar ecx, 2
cmp si, cx
jae 0x1008df7e
mov ecx, dword [ebp + 0x2c]
push esi
call fcn.10095320
mov ecx, eax
call fcn.100955a0
mov ecx, dword [ebp + 0x2c]
push esi
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x54], eax
call fcn.10095320
mov ecx, eax
call fcn.100955a0
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x14]
mov esi, dword [esp + 0x2c]
mov dword [eax], edi
mov eax, dword [ebp + 0x18]
mov dword [eax], esi
cmp bh, 0xc1
je 0x1008e0e6
cmp bh, 0x80
je 0x1008e0e6
mov ecx, dword [esp + 0x18]
add ecx, 6
call fcn.1001ca30
mov cl, bl
mov edx, eax
and cl, 0xf0
mov dword [esp + 0x70], edx
cmp cl, 0x80
mov al, bl
mov ecx, dword [ebp + 0x10]
jne 0x1008dfc9
sub al, 0x80
mov dword [ecx], 1
jmp 0x1008dfd9
add al, 0x58
cmp al, 7
ja 0x1008dfdd
mov al, bl
mov dword [ecx], 2
add al, 0x58
mov byte [esp + 0x1f], al
cmp byte [esp + 0x14], 0
je 0x1008dff8
movzx eax, dx
mov dword [esp + 0x60], eax
mov eax, dword [ecx]
cmp eax, 1
jne 0x1008e03d
mov dword [ecx], 8
mov bl, byte [esp + 0x1f]
cmp byte [esp + 0x15], bl
je 0x1008e078
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x1008e010
mov eax, edi
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x28]
mov edx, eax
push ecx
mov ecx, dword [esp + 0x44]
push dword [esp + 0x23]
push dword [ecx]
mov ecx, dword [esp + 0x44]
call fcn.1001f910
mov ebx, eax
mov byte [esp + 0x1d], 1
add esp, 0xc
mov dword [esp + 0x30], ebx
jmp 0x1008e18f
cmp eax, 2
jne 0x1008e04a
mov dword [ecx], 0xa
jmp 0x1008dff8
mov al, bl
add al, 0x70
cmp al, 7
ja 0x1008e061
add bl, 0x70
mov dword [ecx], 0xb
mov byte [esp + 0x1f], bl
jmp 0x1008dffc
mov al, bl
add al, 0x68
cmp al, 7
ja 0x1008dff8
add bl, 0x68
mov dword [ecx], 0xc
mov byte [esp + 0x1f], bl
jmp 0x1008dffc
cmp byte [esp + 0x11], 0
jne 0x1008e18b
mov esi, dword [esp + 0xa4]
lea edx, [esp + 0x67]
sub esi, dword [esp + 0x9c]
lea ecx, [esp + 0x9c]
call fcn.100ae1f0
push esi
lea ecx, [esp + 0xa0]
lea ebx, [edi + eax]
mov dword [esp + 0x40], ebx
call fcn.1001d110
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x44]
mov edx, ebx
push dword [esp + 0x23]
push dword [eax]
call fcn.1001f910
mov esi, dword [esp + 0x38]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x30], ebx
mov byte [esp + 0x11], 1
jmp 0x1008e18f
mov eax, dword [esp + 0x34]
mov al, byte [edi + eax + 6]
mov byte [esp + 0x4c], al
test al, al
je 0x1008e345
cmp bh, 0xc1
jne 0x1008e115
mov ecx, dword [ebp + 0x10]
sub bl, 0x80
mov al, 7
cmp al, bl
sbb eax, eax
and eax, 4
add eax, 3
mov dword [ecx], eax
jmp 0x1008e15f
mov al, bl
sub al, 0x80
cmp al, 7
ja 0x1008e128
mov eax, dword [ebp + 0x10]
mov dword [eax], 6
jmp 0x1008e15f
mov al, bl
add al, 0x58
cmp al, 7
ja 0x1008e13b
mov eax, dword [ebp + 0x10]
mov dword [eax], 9
jmp 0x1008e15f
mov al, bl
add al, 0x70
cmp al, 7
ja 0x1008e14e
mov eax, dword [ebp + 0x10]
mov dword [eax], 4
jmp 0x1008e15f
add bl, 0x68
cmp bl, 7
ja 0x1008e15f
mov eax, dword [ebp + 0x10]
mov dword [eax], 5
cmp byte [esp + 0x11], 0
jne 0x1008e18b
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x44]
mov edx, edi
push dword [esp + 0x23]
push dword [eax]
call fcn.1001f910
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x30], ebx
jmp 0x1008e18f
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x1008e345
cmp ebx, 0x6ff5
jbe 0x1008e1a4
mov ebx, 0x6ff5
push 0x7000
lea ecx, [esp + 0x58]
call fcn.100940a0
mov byte [esp + 0x108], 4
mov edi, dword [ebp + 0x28]
mov ecx, edi
push eax
call fcn.10094140
mov byte [esp + 0x108], 2
lea ecx, [esp + 0x54]
call fcn.100941a0
push dword [esp + 0x48]
mov ecx, dword [esp + 0x54]
mov eax, dword [ebp + 0x24]
push ecx
push edi
mov edx, dword [esp + 0x44]
push dword [eax]
mov eax, dword [ebp + 0x18]
push dword [ebp + 0x20]
push ecx
push dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x2c]
push dword [eax]
mov eax, dword [ebp + 0x14]
push dword [eax]
mov eax, dword [ebp + 0x10]
push dword [ebp + 8]
push dword [ebp + 0xc]
push ebx
push dword [eax]
mov eax, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0x98]
push eax
push dword [esp + 0x88]
push esi
call fcn.1008e3d0
add esp, 0x44
test al, al
je 0x1008e371
mov esi, 1
jmp 0x1008e373
mov edx, dword [esp + 0x58]
mov ecx, edx
mov eax, dword [esp + 0x54]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x1008e266
cmp eax, edx
je 0x1008e268
mov ecx, dword [esp + 0x44]
cmp word [eax + 4], cx
je 0x1008e266
add eax, 8
cmp eax, edx
jne 0x1008e257
jmp 0x1008e268
mov esi, dword [eax]
push 1
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x20]
lea eax, [ebx + 5]
add eax, esi
push ecx
mov ecx, dword [ebp + 0x2c]
push eax
mov dword [esp + 0x28], eax
call fcn.100951f0
test al, al
je 0x1008de67
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x50]
mov byte [esp + 0x12], 1
cmp ecx, ebx
jb 0x1008e2ad
mov eax, dword [esp + 0x48]
add eax, ebx
cmp ecx, eax
jbe 0x1008e360
lea edi, [ecx - 1]
push ecx
lea ecx, [esp + 0xa0]
call fcn.1001d110
mov byte [esp + 0x108], 2
lea ecx, [esp + 0x54]
call fcn.100941a0
jmp 0x1008e345
cmp ah, 0xeb
jne 0x1008e32e
movzx eax, byte [0x100d0d6d]
push eax
movsx esi, ch
lea eax, [esp + 0x1c]
push eax
push ecx
add esi, 2
lea eax, [esp + 0xa0]
add esi, edi
lea ecx, [esp + 0x88]
push eax
mov dword [esp + 0x28], esi
call fcn.1009d290
cmp byte [esp + 0x98], 0
lea ecx, [esp + 0x9c]
jne 0x1008e31e
push 2
inc edi
call fcn.1001d130
jmp 0x1008e345
push esi
mov byte [esp + 0x16], 1
lea edi, [esi - 1]
call fcn.1001d110
jmp 0x1008e345
lea edx, [esp + 0x66]
lea ecx, [esp + 0x9c]
call fcn.100ae1f0
test eax, eax
je 0x1008e371
dec edi
add edi, eax
mov ebx, dword [esp + 0x40]
inc edi
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp edi, dword [ebx]
jae 0x1008e371
mov esi, dword [esp + 0x68]
jmp 0x1008daf0
mov byte [esp + 0x108], 2
lea ecx, [esp + 0x54]
call fcn.100941a0
xor esi, esi
mov byte [esp + 0x108], 1
lea ecx, [esp + 0x84]
call fcn.10021a70
mov dword [esp + 0x108], 0xffffffff
lea ecx, [esp + 0x7c]
call fcn.10021a70
mov eax, esi
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret