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

Disassembly:
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x18]
movsx ecx, byte [eax]
add eax, ecx
mov dword [esp + 8], eax
mov ebp, dword [0x10085b9f]
mov eax, dword [0x10085ba7]
mov esi, dword [0x10085ba7]
add edi, ecx
lea edi, [edx + edi + 1]
mov ebx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + ebx + 1], 0
lea ebx, [ebx + 1]
add dword [ebp - 0xa], esi
test ebx, ebx
mov dword [esp], ebp
je 0x10003699
xor ecx, ecx
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
imul ecx, esi
movzx edx, byte [edi + ebp]
add ecx, edx
inc ebp
cmp ebx, ebp
jne 0x10003689
jmp 0x1000369b
xor ecx, ecx
mov ebx, dword [esp + 4]
mov edx, dword [ebx + 0x3c]
add edx, ebx
mov esi, dword [esp]
mov edx, dword [edx + esi*8 + 0x78]
mov esi, dword [ebx + edx + 0x18]
mov dword [esp], esi
test esi, esi
je 0x10003749
mov esi, dword [ebx + edx + 0x20]
add esi, ebx
mov dword [esp + 0xc], esi
mov esi, dword [ebx + edx + 0x1c]
add esi, ebx
mov dword [esp + 0x14], esi
mov edx, dword [ebx + edx + 0x24]
adc esp, dword [ecx + eax]
fimul dword [ecx + 0x31182454]
call dword [eax - 0x6f6f6f70]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
mov esi, dword [edx + edi*4]
add esi, ebx
mov ebp, 0xffffffff
xor ebx, ebx
mov edx, ebx
cmp byte [esi + ebp + 1], 0
lea ebp, [ebp + 1]
lea ebx, [ebx + 1]
jne 0x100036f9
test ebp, ebp
je 0x10003739
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
imul ebp, eax
movzx ebx, byte [esi]
add ebp, ebx
inc esi
dec edx
jne 0x10003719
cmp ebp, ecx
jne 0x1000373f
jmp 0x10003759
xor ebp, ebp
cmp ebp, ecx
je 0x10003759
inc edi
cmp edi, dword [esp]
mov ebx, dword [esp + 4]
jne 0x100036e9
push 2
call dword [esp + 0x14]
mov dword [esp + 4], 0
jmp 0x10003770
mov eax, dword [esp + 0x18]
movzx eax, word [eax + edi*2]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 4]
add edx, dword [ecx + eax*4]
mov dword [esp + 4], edx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x20]
movsx eax, byte [ecx]
lea esi, [ecx + eax]
lea eax, [ecx + eax + 1]
add dword [ecx], eax
push eax
call edx
mov ebx, eax
test eax, eax
jne 0x10003791
push 2
call dword [esp + 0x14]
invalid
movsx eax, byte [esi]
lea edi, [esi + eax]
add edi, dword [0x10085b93]
mov ecx, dword [esi + eax + 4]
mov dword [esp], ecx
mov ebp, dword [esi + eax + 8]
mov eax, dword [ebx + 0x3c]
mov esi, dword [ebx + eax + 0x2c]
add esi, ebx
mov dword [esp + 0x24], 0
lea eax, [esp + 0x24]
push eax
push dword [0x10085bd7]
xlatb
pop ebx
or byte [eax], dl
push ebp
push esi
mov ebx, dword [esp + 0x14]
call ebx
mov ecx, esi
mov edx, edi
push ebp
call fcn.10002f69
add esp, 4
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x28]
mov dword [esp + 0x18], ebp
push ebp
push esi
call ebx
mov eax, dword [0x10085bcf]
cmp byte [eax], 0
cmp byte [eax], al
je 0x1000382a
xor ecx, ecx
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x10085bcf]
movsx eax, byte [eax + ecx]
mov word [ebx + ecx*2], ax
lea eax, [ecx + 1]
mov edx, dword [0x10085bcf]
cmp byte [edx + ecx + 1], 0
mov ecx, eax
jne 0x10003809
jmp 0x10003834
xor eax, eax
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
add esi, dword [esp]
add edi, ebp
mov word [ebx + eax*2], 0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
mov byte [esp + 0x38], 1
lea eax, [esp + 0x30]