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

Disassembly:
sub esp, 0x70
mov ecx, dword [esp + 0x78]
push ebx
push ebp
xor ebp, ebp
push esi
mov esi, dword [esp + 0x80]
push edi
xor edi, edi
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
mov dword [ecx + 0xc], eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x2c], ebp
mov al, byte [esi]
cmp al, 0x20
je 0x10008f6d
cmp al, 9
jne 0x10008f70
inc esi
jmp 0x10008f63
cmp byte [esi], 0
mov dword [esp + 0x84], esi
je 0x10009425
movzx edx, byte [esi]
xor ebx, ebx
push edx
mov edi, esi
mov dword [esp + 0x18], ebx
call fcn.100774c3
add esp, 4
test eax, eax
je 0x10008fb8
movsx ecx, byte [edi]
movzx edx, byte [edi + 1]
inc edi
lea eax, [ebx + ebx*4]
push edx
lea ebx, [ecx + eax*2 - 0x30]
call fcn.100774c3
add esp, 4
test eax, eax
jne 0x10008f98
mov dword [esp + 0x14], ebx
cmp edi, esi
mov cl, byte [edi]
mov byte [esp + 0x12], cl
jbe 0x1000903d
cmp cl, 0x2f
je 0x10008fda
cmp cl, 0x3a
je 0x10008fda
cmp cl, 0x2e
je 0x10008fda
cmp cl, 0x2d
je 0x10008fda
test cl, cl
jne 0x1000903d
cmp ebp, 5
mov dword [esp + 0x30], 0
jge case.default.0x100090b5
mov dword [esp + ebp*4 + 0x50], ebx
mov edx, dword [esp + 0x4c]
mov eax, edi
sub eax, esi
mov dword [esp + edx*4 + 0x68], eax
mov ebp, dword [esp + 0x4c]
inc ebp
test cl, cl
mov dword [esp + 0x4c], ebp
jne 0x10009016
mov esi, edi
mov dword [esp + 0x84], esi
jmp 0x100090b1
mov al, byte [edi + 1]
cmp al, 0x20
lea esi, [edi + 1]
mov dword [esp + 0x84], esi
je 0x10009030
cmp al, 9
jne 0x100090b1
nop
mov al, byte [esi]
cmp al, 0x20
je 0x1000903a
cmp al, 9
jne 0x1000900a
inc esi
jmp 0x10009030
mov eax, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x17]
push ecx
lea edx, [esp + 0x30]
push edx
push eax
mov ebx, esi
mov dword [esp + 0x34], 0
call fcn.10008d50
add esp, 0x10
test eax, eax
mov dword [esp + 0x30], eax
jne 0x100090a2
cmp ebp, 5
jge case.default.0x100090b5
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x88]
push edx
lea edi, [esp + 0x54]
call fcn.10007d80
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x54]
add esp, 8
mov byte [esp + 0x12], al
cmp dword [esp + 0x30], 4
ja case.default.0x100090b5
mov cl, byte [esp + 0x12]
mov eax, dword [esp + 0x30]
jmp dword [eax*4 + 0x10009618]
cmp cl, 0x3a
je 0x100090d3
cmp cl, 0x2e
jne 0x10009242
cmp ebp, 4
jne 0x10009254
mov eax, dword [esp + 0x1c]
test eax, eax
jne case.default.0x100090b5
mov eax, dword [esp + 0x24]
test eax, eax
jne case.default.0x100090b5
mov ecx, dword [esp + 0x88]
dec ebp
mov dword [esp + 0x4c], ebp
mov al, byte [esp + ebp*4 + 0x50]
mov byte [ecx + 7], al
movzx edx, byte [esi]
push edx
mov dword [esp + 0x20], 1
call fcn.100774c3
add esp, 4
test eax, eax
je 0x100091ee
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x88]
push ecx
lea edi, [esp + 0x54]
call fcn.10007d80
mov ebp, dword [esp + 0x54]
mov ebx, dword [esp + 0x90]
add esp, 8
dec ebp
cmp al, 0x3a
mov dword [esp + 0x4c], ebp
mov dl, byte [esp + ebp*4 + 0x50]
mov byte [ebx + 8], dl
je 0x10009156
cmp al, 0x2e
jne 0x100091e7
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x88]
push ecx
lea edi, [esp + 0x54]
call fcn.10007d80
mov ebp, dword [esp + 0x54]
add esp, 8
dec ebp
cmp al, 0x2e
mov dword [esp + 0x4c], ebp
mov dl, byte [esp + ebp*4 + 0x50]
mov byte [ebx + 9], dl
je 0x1000918b
cmp al, 0x3a
je 0x1000918b
cmp al, 0x2d
jne 0x100091e7
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x88]
push ecx
lea edi, [esp + 0x54]
call fcn.10007d80
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + ebp*4 + 0x6c]
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp edx, 6
jae 0x100091cb
mov eax, 6
sub eax, edx
add edx, eax
mov edi, edi
lea ecx, [ecx + ecx*4]
shl ecx, 1
dec eax
jne 0x100091c0
cmp edx, 6
jbe 0x100091df
lea esi, [edx - 6]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
dec esi
mov ecx, edx
jne 0x100091d0
dec ebp
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x4c], ebp
mov esi, dword [esp + 0x84]
cmp byte [esi], 0
mov edi, 1
jne 0x10008f80
cmp ebp, 3
mov ebx, dword [esp + 0x20]
je 0x10009221
test ebx, ebx
je 0x10009429
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10009429
cmp ebp, edi
jne 0x10009429
mov esi, dword [esp + 0x88]
test ebp, ebp
jg 0x1000948e
test edi, edi
jne 0x100095ed
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x70
ret
cmp cl, 0x2f
je 0x1000924c
cmp cl, 0x2d
jne 0x10009254
mov dword [esp + 0x24], 1
cmp ebp, 3
jl 0x10009261
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x18]
test eax, eax
mov ecx, 1
jne 0x1000927c
mov edx, dword [esp + 0x88]
mov byte [edx + 6], cl
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x100092a3
cmp ebp, ecx
jne 0x100091ee
cmp dword [esp + 0x68], 4
jb 0x100091ee
mov dword [esp + 0x8c], ecx
jmp 0x100091ee
test eax, eax
jne 0x100091ee
mov edx, dword [esp + 0x88]
dec ebp
mov dword [esp + 0x4c], ebp
mov al, byte [esp + ebp*4 + 0x50]
mov byte [edx + 6], al
mov dword [esp + 0x18], ecx
jmp 0x100091ee
mov edx, dword [esp + 0x28]
lea eax, [edx + esi]
call fcn.10007d30
mov esi, eax
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x84], esi
jne 0x10009309
test ebp, ebp
jle case.default.0x100090b5
mov ecx, dword [esp + 0x88]
dec ebp
mov dword [esp + 0x4c], ebp
mov al, byte [esp + ebp*4 + 0x50]
mov byte [ecx + 7], al
mov dword [esp + 0x1c], 1
jmp 0x10009310
mov ecx, dword [esp + 0x88]
mov al, byte [ecx + 7]
cmp al, 0xc
jae 0x100091ee
add al, 0xc
mov byte [ecx + 7], al
jmp 0x100091ee
mov ecx, dword [esp + 0x28]
lea eax, [ecx + esi]
call fcn.10007d30
mov esi, eax
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x84], esi
jne 0x10009367
test ebp, ebp
jle case.default.0x100090b5
mov ecx, dword [esp + 0x88]
dec ebp
mov dword [esp + 0x4c], ebp
mov dl, byte [esp + ebp*4 + 0x50]
mov byte [ecx + 7], dl
mov dword [esp + 0x1c], 1
jmp 0x1000936e
mov ecx, dword [esp + 0x88]
mov al, byte [ecx + 7]
cmp al, 0xc
jne 0x1000937e
mov byte [ecx + 7], 0
jmp 0x100091ee
ja case.default.0x100090b5
jmp 0x100091ee
mov eax, dword [esp + 0x28]
add eax, esi
call fcn.10007d30
mov cl, byte [esp + 0x13]
mov esi, eax
mov eax, dword [esp + 0x88]
mov byte [eax + 2], cl
mov ecx, dword [esp + 0x20]
test ecx, ecx
mov dword [esp + 0x84], esi
jne case.default.0x100090b5
mov ecx, 1
mov dword [esp + 0x20], ecx
mov byte [eax + 6], cl
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x8c], 3
jne 0x100091ee
test ebp, ebp
mov dword [esp + 0x18], 1
jle 0x100091ee
dec ebp
mov dword [esp + 0x4c], ebp
mov dl, byte [esp + ebp*4 + 0x50]
mov byte [eax + 6], dl
jmp 0x100091ee
mov eax, dword [esp + 0x28]
add eax, esi
call fcn.10007d30
mov ecx, dword [esp + 0x88]
mov dl, byte [esp + 0x13]
mov esi, eax
mov dword [esp + 0x84], esi
mov byte [ecx + 3], dl
mov dword [esp + 0x38], 1
jmp 0x100091ee
mov ebx, dword [esp + 0x20]
lea eax, [esp + 0x3c]
push eax
call fcn.10006aa0
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x3c]
mov cx, word [esp + 0x44]
mov dx, word [esp + 0x40]
add esp, 4
test eax, eax
mov word [esi + 4], cx
mov word [esi], dx
jne 0x1000945d
mov al, byte [esp + 0x3f]
mov byte [esi + 3], al
test ebx, ebx
jne 0x10009468
mov cl, byte [esp + 0x3e]
mov byte [esi + 2], cl
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10009228
mov eax, dword [esp + 0x34]
test eax, eax
mov eax, 1
jne 0x10009486
movzx eax, byte [esp + 0x42]
mov byte [esi + 6], al
jmp 0x10009228
cmp ebp, 1
jne 0x1000955d
test ebx, ebx
je 0x100094b9
mov ax, word [esp + 0x50]
mov edx, dword [esp + 0x68]
mov word [esi], ax
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x2c], edx
jne 0x1000951a
mov byte [esi + 6], 1
jmp 0x1000951a
mov edi, dword [esp + 0x50]
push 0x64
push edi
call fcn.1007737d
mov ecx, dword [esp + 0x70]
add esp, 8
cmp ecx, 6
je 0x10009504
cmp ecx, 8
je 0x10009504
cmp ecx, 4
jne case.default.0x100090b5
push 0x64
push edi
mov byte [esi + 6], 1
call fcn.1007737d
mov ecx, dword [esp + 0x94]
add esp, 8
cmp ecx, 1
je 0x10009512
dec al
mov byte [esi + 2], al
mov word [esi], dx
jmp 0x1000951a
push 0x64
push eax
mov byte [esi + 6], dl
call fcn.1007737d
add esp, 8
dec dl
mov byte [esi + 2], dl
mov word [esi], ax
mov ax, word [esi]
cmp ax, 0x64
jae 0x10009607
cmp dword [esp + 0x2c], 2
ja 0x10009607
mov edx, dword [esp + 0x94]
movzx ecx, ax
cmp ecx, edx
jae 0x100095ff
add eax, 0x7d0
push esi
mov word [esi], ax
call fcn.10008eb0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
cmp ebp, 3
mov eax, dword [esp + 0x8c]
jne 0x10009598
cmp eax, 1
je 0x10009587
mov ecx, dword [esp + 0x70]
mov dx, word [esp + 0x58]
mov ebp, 2
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ebp
mov word [esi], dx
cmp eax, 3
je 0x10009598
dec ebp
mov dword [esp + 0x4c], ebp
mov cl, byte [esp + ebp*4 + 0x50]
mov byte [esi + 6], cl
test ebx, ebx
jne 0x100095aa
dec ebp
mov dword [esp + 0x4c], ebp
mov dl, byte [esp + ebp*4 + 0x50]
dec dl
mov byte [esi + 2], dl
cmp eax, 3
jne 0x100095cb
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x100095cb
test ebp, ebp
jle 0x1000951a
dec ebp
mov dword [esp + 0x4c], ebp
mov cl, byte [esp + ebp*4 + 0x50]
mov byte [esi + 6], cl
test ebp, ebp
jle 0x1000951a
cmp eax, 1
jne 0x100095ed
mov edx, dword [esp + ebp*4 + 0x64]
dec ebp
mov dword [esp + 0x4c], ebp
mov ax, word [esp + ebp*4 + 0x50]
mov dword [esp + 0x2c], edx
mov word [esi], ax
test ebp, ebp
jle 0x1000951a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x70
ret
add eax, 0x76c
mov word [esi], ax
push esi
call fcn.10008eb0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret