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

Disassembly:
sub esp, 0x18
mov eax, dword [0x10239cd8]
push ebx
push ebp
push esi
xor edx, edx
push edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov ebx, dword [eax + 0x78]
mov ebp, edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x100f4049
mov esi, dword [esp + 0x2c]
sub ebp, ecx
mov dword [esp + 0x18], ebp
test esi, esi
je 0x100f41ab
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f4068
sub ecx, edx
lea eax, [ebp + 5]
add eax, ecx
cmp dword [esp + 0x3c], eax
jb 0x10109f84
test esi, esi
je 0x10109fb0
movzx eax, byte [esi]
push eax
call dword [sym.imp.kernel32.dll_IsDBCSLeadByte]
test eax, eax
jne 0x10109f8e
test ebx, ebx
jne 0x100f40b0
movzx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharAlphaA]
test eax, eax
je 0x10109fa7
mov al, byte [esi]
mov edi, dword [esp + 0x38]
mov byte [edi], al
inc edi
inc esi
test esi, esi
je 0x100f4107
mov bl, byte [esi]
mov byte [esp + 0x2c], bl
test bl, bl
je 0x100f4107
mov ebp, dword [esp + 0x10]
push dword [esp + 0x2c]
inc esi
call dword [sym.imp.kernel32.dll_IsDBCSLeadByte]
test eax, eax
jne 0x10109fd2
test ebp, ebp
jne 0x100f40f6
movzx eax, bl
push eax
call dword [sym.imp.msvcr100.dll_isalnum]
pop ecx
test eax, eax
je 0x10109fe2
mov byte [edi], bl
inc edi
mov bl, byte [esi]
mov byte [esp + 0x2c], bl
test bl, bl
jne 0x100f40cc
mov ebp, dword [esp + 0x18]
cmp dword [esp + 0x14], 0
mov ebx, dword [esp + 0x38]
mov byte [edi], 0
jne 0x10109ffb
cmp dword [esp + 0x10], 0
jne 0x100f415d
push ebx
lea ecx, [esp + 0x24]
call fcn.1002bdd9
test eax, eax
je 0x100f41b2
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x34]
lea ecx, [esp + 0x28]
call fcn.1002be0e
push eax
call fcn.1002cd18
test eax, eax
jne 0x1010a011
cmp dword [esp + 0x1c], 0
je 0x1010a026
xor esi, esi
inc esi
push ebx
lea ecx, [esp + 0x24]
call fcn.1002bdd9
test eax, eax
je 0x100f41b2
cmp dword [esp + 0x40], 0
jne 0x1010a04c
lea ecx, [esp + 0x20]
call fcn.1002be0e
push eax
push dword [esp + 0x34]
call fcn.100f2d25
test eax, eax
je 0x1010a061
xor esi, esi
lea ecx, [esp + 0x20]
call fcn.1000cf08
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x18
mov ecx, edx
jmp 0x100f4071
mov esi, 0x8007000e
jmp 0x100f4196
mov esi, 0x80070057
jmp 0x100f4196
mov al, byte [esi]
mov edi, dword [esp + 0x38]
mov byte [edi], al
mov al, byte [esi + 1]
mov byte [edi + 1], al
add edi, 2
add esi, 2
jmp 0x100f40ba
test byte [esi], 0x80
jne 0x100f40b0
push edi
push dword [esp + 0x40]
mov edi, dword [esp + 0x40]
push edi
mov dword [esp + 0x20], 1
call dword [sym.imp.msvcr100.dll_strcpy_s]
add esp, 0xc
add edi, ebp
jmp 0x100f40ba
mov byte [edi], bl
mov al, byte [esi]
mov byte [edi + 1], al
add edi, 2
inc esi
jmp 0x100f40f9
test bl, bl
js 0x100f40f6
cmp bl, 0x5f
je 0x100f40f6
mov byte [edi], 0x5f
jmp 0x100f40f8
mov eax, edi
sub eax, ebx
cmp eax, ebp
jne 0x100f4119
mov word [edi], 0x31
jmp 0x100f415d
push eax
call fcn.100fc596
mov esi, eax
test esi, esi
jns 0x100f4152
jmp 0x100f4196
mov ecx, edi
cmp edi, ebx
jb 0x1010a036
mov al, byte [ecx]
mov byte [ecx + ebp], al
dec ecx
cmp ecx, ebx
jae 0x1010a02c
mov edx, dword [esp + 0x34]
jmp 0x1010a040
inc ecx
mov byte [ecx], al
inc edx
mov al, byte [edx]
test al, al
je 0x100f415d
jmp 0x1010a03c
push ebx
push dword [esp + 0x44]
call dword [sym.imp.kernel32.dll_lstrcmpiA]
test eax, eax
jne 0x100f4179
jmp 0x1010a09a
cmp dword [esp + 0x10], eax
je 0x1010a06d
cmp dword [esp + 0x14], eax
je 0x1010a090
mov eax, ebx
sub eax, edi
add eax, dword [esp + 0x3c]
push 0xa
push eax
push edi
push esi
call dword [sym.imp.msvcr100.dll__itoa_s]
add esp, 0x10
inc esi
cmp esi, 0x270f
jl 0x100f4160
mov esi, 0x80004005
jmp 0x100f4196
xor esi, esi
inc esi
jmp 0x100f4196