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

Disassembly:
sub esp, 0xac
mov eax, dword [0x1013567c]
xor eax, esp
mov dword [esp + 0xa8], eax
push ebx
mov ebx, dword [esp + 0xc0]
xor eax, eax
push ebp
mov ebp, dword [esp + 0xc8]
push esi
mov esi, dword [esp + 0xc0]
push edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov word [esi], ax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x38], esi
push eax
push ebx
push edi
mov dword [esp + 0x40], ebp
call fcn.1010dab2
xor ecx, ecx
inc ecx
cmp ax, cx
jne 0x101128bc
cmp dword [esp + 0x14], 8
jne 0x101128bc
mov eax, dword [esp + 0x10]
push 8
lea eax, [edi + eax*2]
push eax
push dword [0x10135248]
call fcn.1011c4cf
add esp, 0xc
test eax, eax
jne 0x101128b9
mov ecx, dword [esp + 0x10]
sub ebx, ecx
mov edx, dword [esp + 0x14]
sub ebx, edx
mov dword [esp + 0x24], ebx
lea eax, [ecx + edx]
lea edi, [edi + eax*2]
lea eax, [esp + 0x14]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x14]
push eax
push ebx
push edi
call fcn.1010dab2
movzx eax, ax
push 3
pop edx
test ax, ax
je 0x1011249a
xor ebp, ebp
inc ebp
cmp ax, bp
jne 0x10112463
mov eax, dword [esp + 0x14]
sub eax, edx
je 0x10112443
dec eax
je 0x101123fb
dec eax
je 0x101123d0
dec eax
jne 0x10112463
mov eax, dword [esp + 0x10]
push 6
lea eax, [edi + eax*2]
push eax
push 0x100123e0
call fcn.1011c4cf
add esp, 0xc
test eax, eax
jne 0x1011237b
movzx eax, word [esi]
test ax, ax
jne 0x10112365
push 0x11
jmp 0x1011245f
push 0xf
pop ecx
cmp ax, cx
jne 0x10112374
push 0x15
jmp 0x1011245f
push 0x17
jmp 0x1011245f
mov eax, dword [esp + 0x10]
push dword [esp + 0x14]
lea eax, [edi + eax*2]
push eax
push 0x100123f0
call fcn.1011c4cf
add esp, 0xc
test eax, eax
jne 0x10112463
movzx eax, word [esi]
test ax, ax
jne 0x101123ab
push 0x12
jmp 0x1011245f
push 0xf
pop ecx
cmp ax, cx
jne 0x101123ba
push 0x16
jmp 0x1011245f
push 0x10
pop ecx
cmp ax, cx
jne 0x101123c9
push 0x18
jmp 0x1011245f
push 0x19
jmp 0x1011245f
mov eax, dword [esp + 0x10]
push 5
lea eax, [edi + eax*2]
push eax
push 0x100123d4
call fcn.1011c4cf
add esp, 0xc
test eax, eax
jne 0x10112463
push 0x13
pop eax
xor edx, edx
cmp word [esi], dx
push 0xe
pop ecx
cmove eax, ecx
jmp 0x10112460
mov eax, dword [esp + 0x10]
push 4
lea eax, [edi + eax*2]
push eax
push 0x100123bc
call fcn.1011c4cf
add esp, 0xc
test eax, eax
jne 0x1011241a
push 0xd
jmp 0x1011245f
mov eax, dword [esp + 0x10]
push dword [esp + 0x14]
lea eax, [edi + eax*2]
push eax
push 0x100123c8
call fcn.1011c4cf
add esp, 0xc
test eax, eax
jne 0x10112463
push 0x14
pop eax
xor ecx, ecx
cmp word [esi], cx
push 0x10
jmp 0x101123f5
mov eax, dword [esp + 0x10]
push edx
lea eax, [edi + eax*2]
push eax
push 0x100123b4
call fcn.1011c4cf
add esp, 0xc
test eax, eax
jne 0x10112463
push 0xf
pop eax
mov word [esi], ax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea eax, [edx + ecx]
lea edi, [edi + eax*2]
lea eax, [edx + ecx]
sub ebx, eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
push ebx
push edi
call fcn.1010dab2
movzx eax, ax
push 3
pop edx
test ax, ax
jne 0x10112311
mov ebp, dword [esp + 0x30]
movsx ecx, word [esi]
add ecx, 0xfffffff3
cmp ecx, 0xc
ja case.default.0x101124b0
movzx eax, byte [ecx + 0x101128eb]
jmp dword [eax*4 + 0x101128db]
lea eax, [ebp + 8]
jmp 0x101124c9
lea eax, [ebp + 0xc]
jmp 0x101124c9
lea eax, [ebp + 0x10]
jmp 0x101124c9
lea eax, [ebp + 0x14]
push dword [ecx*4 + 0x10135510]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
lea eax, [ebp + 0x1c]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x7c]
push 0x40
push eax
call fcn.100264a0
cmp byte [esp + 0x78], 0
lea edi, [esp + 0x78]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
je 0x10112797
mov esi, dword [esp + 0x1c]
lea eax, [edx + ebx]
lea esi, [esi + eax*2]
lea eax, [edx + ebx]
mov dword [esp + 0x1c], esi
mov ebx, dword [esp + 0x24]
sub ebx, eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x28], ebx
push eax
push ebx
push esi
call fcn.1010dab2
cmp byte [edi], 0xc
mov edx, dword [esp + 0x10]
movzx ecx, ax
jne 0x101125db
movzx esi, word [esi + edx*2]
movzx eax, byte [edi + 1]
cmp si, ax
jne 0x101125c1
cmp esi, 0x2d
jne 0x10112563
xor eax, eax
inc eax
mov word [ebp + 4], ax
jmp 0x1011258b
cmp esi, 0x28
jne 0x10112571
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
jmp 0x1011258b
cmp esi, 0x2e
jne 0x1011257f
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
jmp 0x1011258b
cmp esi, 0x2c
jne 0x1011258b
lea eax, [ebp + 0x1e]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
push 3
pop eax
add edi, eax
lea eax, [edx + ecx]
lea esi, [esi + eax*2]
lea eax, [edx + ecx]
mov dword [esp + 0x1c], esi
sub ebx, eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
push ebx
push esi
call fcn.1010dab2
mov edx, dword [esp + 0x10]
movzx ecx, ax
jmp 0x101125ce
movzx eax, byte [edi + 2]
add edi, 2
mov esi, dword [esp + 0x1c]
add edi, eax
cmp byte [edi], 0xc
je 0x10112548
mov dword [esp + 0x24], ebx
test cx, cx
je 0x1011278f
xor eax, eax
inc eax
cmp cx, ax
jne 0x10112600
cmp word [esi + edx*2], 0x27
jne 0x10112600
mov ebx, eax
push 3
pop eax
mov dword [esp + 0x14], ebx
mov ecx, eax
jmp 0x10112604
mov ebx, dword [esp + 0x14]
movzx eax, byte [edi]
inc edi
cmp ax, cx
je 0x10112623
cmp byte [edi - 1], 1
jne case.default.0x101124b0
push 2
pop eax
cmp cx, ax
je 0x10112626
xor eax, eax
inc eax
jmp 0x101128bf
push 2
pop eax
cmp cx, ax
jne 0x101126ca
mov cl, byte [edi]
test cl, cl
jle 0x1011263e
movzx eax, cl
cmp ebx, eax
jne case.default.0x101124b0
test cl, cl
jns 0x1011264c
movsx ecx, cl
neg ecx
movsx eax, bl
cmp eax, ecx
jg case.default.0x101124b0
push 0x1e
pop eax
cmp ebx, eax
cmovg ebx, eax
mov eax, dword [esp + 0x1c]
lea esi, [ebx + ebx]
lea eax, [eax + edx*2]
push esi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.101175c0
xor eax, eax
mov word [esp + esi + 0x48], ax
lea eax, [esp + 0x48]
push eax
call fcn.1011c079
mov ebx, dword [esp + 0x24]
add esp, 0x10
cmp dword [esp + 0x28], 0
je 0x1011269e
mov ecx, ebx
mov edx, 0x101351a0
shl ecx, 2
sub edx, ecx
imul eax, dword [edx]
xor ecx, ecx
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x2c], 0
je 0x101126b7
mov ecx, dword [esp + 0x20]
push 2
mov word [ecx], ax
pop eax
add ecx, eax
mov dword [esp + 0x20], ecx
jmp 0x101126c4
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x18], ecx
inc edi
jmp 0x10112778
push 3
pop eax
cmp cx, ax
jne 0x101126f7
movzx ecx, word [esi + edx*2]
movzx eax, byte [edi]
cmp cx, ax
jne case.default.0x101124b0
inc edi
cmp ecx, 0x29
jne 0x1011277c
xor eax, eax
mov dword [esp + 0x2c], eax
jmp 0x1011277c
xor eax, eax
inc eax
cmp cx, ax
jne 0x1011277c
movzx eax, byte [edi]
cmp ebx, eax
jne case.default.0x101124b0
push 0x1e
pop eax
push eax
lea eax, [esp + 0x40]
push eax
push ebx
lea eax, [edi + 1]
xor ebx, ebx
push eax
inc ebx
xor eax, eax
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [esp + 0x10]
push dword [esp + 0x14]
lea eax, [esi + eax*2]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.1011c4cf
add esp, 0xc
test eax, eax
jne 0x10112787
mov ebx, dword [esp + 0x14]
push 2
pop eax
cmp ebx, eax
jne 0x10112772
push eax
mov eax, dword [esp + 0x14]
lea eax, [esi + eax*2]
push eax
push 0x10012400
call fcn.1011c4cf
mov ebx, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x10112772
lea eax, [ebp + 0x1e]
mov dword [esp + 0x20], eax
movzx eax, byte [edi]
inc edi
add edi, eax
mov edx, dword [esp + 0x10]
cmp byte [edi], 0
jne 0x1011250c
jmp 0x10112793
mov ax, bx
jmp 0x101128bf
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
lea eax, [edx + ebx]
lea edi, [ecx + eax*2]
lea eax, [edx + ebx]
mov ebx, dword [esp + 0x24]
sub ebx, eax
je 0x101127ce
push 2
pop ebp
movzx eax, word [edi]
push eax
call fcn.1011c266
pop ecx
test eax, eax
je 0x101127c2
add edi, ebp
dec ebx
jne 0x101127af
mov ebp, dword [esp + 0x30]
test ebx, ebx
jne case.default.0x101124b0
movzx eax, word [ebp + 0x1c]
push 9
pop edx
cmp ax, dx
jg case.default.0x101124b0
movsx ecx, ax
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
cmp eax, dword [ecx*4 + 0x1013517c]
jae case.default.0x101124b0
movzx eax, word [esi]
push 0x13
pop ecx
cmp ax, cx
jne 0x10112809
cmp dword [ebp + 0xc], 0xb
ja case.default.0x101124b0
push 0x14
pop ecx
cmp ax, cx
je 0x10112883
push 0x15
pop ebx
push 0x16
pop ecx
cmp ax, bx
je 0x10112889
cmp ax, cx
je 0x10112889
push 0x17
pop esi
push 0x18
cmp ax, bx
pop ebx
je 0x1011283b
cmp ax, cx
je 0x1011283b
cmp ax, si
je 0x1011283b
cmp ax, bx
jne 0x10112845
cmp dword [ebp + 0x10], 0x3b
ja case.default.0x101124b0
cmp ax, cx
je 0x10112857
cmp ax, bx
je 0x10112857
push 0x19
pop esi
cmp ax, si
jne 0x10112861
cmp dword [ebp + 0x14], 0x3b
ja case.default.0x101124b0
xor esi, esi
cwde
inc esi
cmp eax, 0x12
je 0x10112875
cmp eax, ecx
je 0x10112875
add eax, 0xffffffe8
cmp eax, esi
ja 0x101128b5
movzx eax, word [ebp + 0x1e]
cmp ax, dx
jle 0x10112896
mov ax, si
jmp 0x101128bf
push 0x16
pop ecx
push 0x15
pop ebx
push 0x17
pop esi
cmp dword [ebp + 0xc], esi
jbe 0x10112824
jmp case.default.0x101124b0
mov ecx, dword [ebp + 0x18]
mov ebx, 0x101351a0
cwde
xor edx, edx
shl eax, 2
sub ebx, eax
mov eax, ecx
div dword [ebx]
test edx, edx
je 0x101128b5
sub ecx, edx
mov dword [ebp + 0x18], ecx
jmp 0x1011287e
xor eax, eax
jmp 0x101128bf
xor ecx, ecx
inc ecx
mov ax, cx
mov ecx, dword [esp + 0xb8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011720d
add esp, 0xac
ret 0x14