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

Disassembly:
sub esp, 0x58
mov eax, dword [0x1023904c]
xor eax, esp
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x60]
push ebx
push ebp
mov ebp, dword [esp + 0x64]
push esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
push edi
mov edi, ecx
mov ebx, dword [edi + 0x80]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x78]
xor esi, esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [eax], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], ebx
cmp ebp, dword [ebx + 4]
ja 0x10130ec7
mov ecx, dword [ebx]
add ecx, ebp
mov ax, word [ecx + 0x24]
movzx ecx, word [ecx + 2]
mov edx, 0x1fff
and ax, dx
movzx edx, ax
mov eax, ecx
and eax, 0xfffffffe
cmp eax, 0xfffe
je 0x10130ece
and ecx, 0xfffffffe
mov dword [esp + 0x24], ecx
test dx, dx
jne 0x10130ed6
mov edx, dword [esp + 0x3c]
cmp ebp, dword [ebx + 4]
ja 0x10131189
mov eax, dword [ebx]
add eax, ebp
mov ecx, 0x2000
test word [eax + 0x24], cx
jne 0x10131190
cmp ebp, dword [ebx + 4]
ja 0x1013133f
mov eax, dword [ebx]
add eax, ebp
mov eax, dword [eax + 0x20]
cmp eax, 0xffffffff
jne 0x10131346
cmp ebp, dword [ebx + 4]
ja 0x1013165e
mov eax, dword [ebx]
add eax, ebp
mov eax, dword [eax + 0x18]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x10131665
cmp ebp, dword [ebx + 4]
ja 0x10131810
mov eax, dword [ebx]
add eax, ebp
mov eax, dword [eax + 0x1c]
cmp eax, 0xffffffff
jne 0x10131817
push dword [esp + 0x44]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call ebx
push dword [esp + 0x40]
call ebx
mov eax, esi
mov ecx, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10001e57
add esp, 0x58
ret 0x10
xor ecx, ecx
jmp 0x1008b714
lea ecx, [eax + 1]
jmp 0x1008b73a
push edx
push 0x1014dc98
lea eax, [esp + 0x64]
push 5
push eax
call dword [sym.imp.msvcr100.dll_sprintf_s]
add esp, 0x10
cmp dword [esp + 0x28], esi
je 0x1013117e
lea ebx, [esp + 0x5c]
lea ecx, [ebx + 1]
mov edi, edi
mov al, byte [ebx]
inc ebx
test al, al
jne 0x10130eff
mov eax, dword [edi + 0x8c]
sub ebx, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov esi, dword [edi + 0x84]
lea edx, [esp + 0x5c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], edx
mov dword [0x1023ce78], esi
cmp eax, dword [0x1023ce7c]
je 0x10130f46
push dword [0x1023a264]
push eax
call fcn.10031b37
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x800]
mov ebp, dword [esi + 0x850]
mov esi, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x30], ebp
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10130f5f
mov edi, ebp
sub esi, ecx
lea ecx, [edi + 1]
mov edi, edi
mov al, byte [edi]
inc edi
test al, al
jne 0x10130f6f
mov eax, dword [esp + 0x24]
sub edi, ecx
mov dword [esp + 0x2c], edi
add edi, 5
add edi, esi
cmp eax, 0xffff
je 0x10130fa8
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x90]
push eax
call fcn.1002fbea
mov edx, dword [esp + 0x10]
dec eax
inc edi
mov dword [esp + 0x34], eax
add edi, eax
mov cl, byte [edx]
mov ebp, ebx
mov dword [esp + 0x18], ebx
test cl, cl
je 0x10130ff4
movzx eax, cl
mov al, byte [eax + 0x1023bae0]
test al, al
jne 0x10130fe2
cmp cl, 0x5c
je 0x10130fd5
cmp cl, 0xa
je 0x10130fd5
cmp cl, 0xd
je 0x10130fd5
cmp cl, 0x22
jne 0x10130fde
mov dword [esp + 0x38], 1
inc ebp
test al, al
je 0x10130fe8
inc edx
test cl, cl
jne 0x10130fe8
dec edx
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x10130fb4
mov dword [esp + 0x18], ebp
add edi, 2
add edi, ebp
cmp edi, 0x400
jae 0x101310a1
mov ebp, 0x10242338
mov dword [esp + 0x14], 1
mov edi, 0x400
push dword [esp + 0x54]
push edi
push ebp
call dword [sym.imp.msvcr100.dll__mbscpy_s]
mov ecx, dword [esp + 0x30]
mov byte [esi + ebp], 0x20
add esp, 0xc
inc esi
cmp ecx, 0xffff
je 0x10131059
mov eax, edi
sub eax, esi
push eax
lea eax, [esi + ebp]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x90]
call fcn.1002fba2
add esi, dword [esp + 0x34]
mov byte [esi + ebp], 0x2e
inc esi
push dword [esp + 0x30]
mov eax, edi
sub eax, esi
push eax
lea eax, [esi + ebp]
push eax
call dword [sym.imp.msvcr100.dll__mbscpy_s]
add esi, dword [esp + 0x38]
add esp, 0xc
mov dword [esi + ebp], 0x22203d20
add esi, 4
cmp dword [esp + 0x38], 0
jne 0x101310c3
push dword [esp + 0x10]
sub edi, esi
lea eax, [esi + ebp]
push edi
push eax
call dword [sym.imp.msvcr100.dll__mbscpy_s]
add esp, 0xc
add esi, dword [esp + 0x18]
jmp 0x10131144
push edi
call fcn.1000ac41
mov ebp, eax
mov dword [esp + 0x14], 0
test ebp, ebp
jne 0x10131017
mov esi, 0x8007000e
jmp 0x1008b7b5
mov edx, dword [esp + 0x10]
lea ecx, [esi + ebp]
test ebx, ebx
je 0x10131144
mov edi, dword [esp + 0x20]
mov bl, byte [edx]
movzx eax, bl
cmp byte [eax + 0x1023bae0], 0
je 0x101310f0
mov byte [ecx], bl
mov al, byte [edx + 1]
mov byte [ecx + 1], al
add ecx, 2
add esi, 2
jmp 0x10131125
movsx eax, bl
add eax, 0xfffffff6
cmp eax, 0x52
ja case.0x10131102.11
movzx eax, byte [eax + 0x10131b1c]
jmp dword [eax*4 + 0x10131b08]
mov byte [ecx], 0x5c
jmp 0x1013111f
mov byte [ecx], 0x5c
mov bl, 0x6e
jmp 0x1013111f
mov byte [ecx], 0x5c
mov bl, 0x72
jmp 0x1013111f
mov byte [ecx], 0x22
inc ecx
inc esi
mov byte [ecx], bl
inc ecx
inc esi
mov bl, byte [edx]
movzx eax, bl
cmp byte [eax + 0x1023bae0], 0
je 0x10131139
inc edx
test bl, bl
jne 0x10131139
dec edx
inc edx
mov eax, edx
sub eax, dword [esp + 0x10]
cmp eax, edi
jb 0x101310d2
push dword [esp + 0x48]
mov byte [esi + ebp], 0x22
push 0
inc esi
push esi
push 0
push ebp
mov byte [esi + ebp], 0
call dword [esp + 0x3c]
cmp dword [esp + 0x14], 0
mov esi, eax
jne 0x1013116a
push ebp
call fcn.1000ac28
test esi, esi
js 0x1008b7b5
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
inc dword [edx]
jmp 0x1008b74b
xor eax, eax
jmp 0x1008b758
cmp dword [esp + 0x28], 0
mov eax, dword [eax + 0x14]
mov dword [esp + 0x20], eax
je 0x10131338
mov esi, dword [edi + 0x84]
lea eax, [esp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x8c]
mov dword [esp + 0x14], 0
mov dword [0x1023ce78], esi
cmp eax, dword [0x1023ce7c]
je 0x101311d8
push dword [0x1023a264]
push eax
call fcn.10031b37
mov eax, dword [esi + 0x800]
mov edx, dword [esi + 0x85c]
mov esi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101311f1
mov edi, edx
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x101311ff
mov eax, dword [esp + 0x24]
sub edi, ecx
lea ebp, [esi + 5]
add ebp, edi
cmp eax, 0xffff
je 0x10131232
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x90]
call fcn.1002fbea
lea ecx, [eax - 1]
inc ebp
mov dword [esp + 0x14], ecx
add ebp, ecx
add ebp, 0xa
cmp ebp, 0x400
jae 0x10131255
mov ebx, 0x10242338
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], 1
mov ebp, 0x400
jmp 0x10131271
push ebp
call fcn.1000ac41
mov ebx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0
test ebx, ebx
je 0x101310b9
push dword [esp + 0x2c]
push ebp
push ebx
call dword [sym.imp.msvcr100.dll__mbscpy_s]
mov ecx, dword [esp + 0x30]
mov byte [ebx + esi], 0x20
add esp, 0xc
lea ebx, [esi + 1]
mov esi, dword [esp + 0x10]
cmp ecx, 0xffff
je 0x101312b9
mov eax, ebp
sub eax, ebx
push eax
lea eax, [ebx + esi]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x90]
call fcn.1002fba2
add ebx, dword [esp + 0x14]
mov byte [esi + ebx], 0x2e
inc ebx
push dword [esp + 0x30]
mov eax, ebp
sub eax, ebx
push eax
lea eax, [ebx + esi]
push eax
call dword [sym.imp.msvcr100.dll__mbscpy_s]
add ebx, edi
mov word [esi + ebx], 0x3d20
mov byte [esi + ebx + 2], 0x20
mov eax, dword [esp + 0x60]
add ebx, 3
push 0xa
sub ebp, ebx
push ebp
add esi, ebx
push esi
push dword [eax]
call dword [sym.imp.msvcr100.dll__ltoa_s]
add esp, 0x1c
lea ecx, [esi + 1]
lea ecx, [ecx]
mov al, byte [esi]
inc esi
test al, al
jne 0x101312f8
push dword [esp + 0x48]
sub esi, ecx
push 0
add ebx, esi
push ebx
mov ebx, dword [esp + 0x1c]
push 0
push ebx
call dword [esp + 0x3c]
cmp dword [esp + 0x18], 0
mov esi, eax
jne 0x10131324
push ebx
call fcn.1000ac28
test esi, esi
js 0x1008b7b5
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
inc dword [edx]
jmp 0x1008b767
xor eax, eax
jmp 0x1008b774
lea ecx, [esp + 0x40]
push ecx
push eax
mov ecx, ebx
call fcn.102023be
test eax, eax
js 0x1008b7c9
lea ecx, [esp + 0x40]
call fcn.1001b5e9
mov esi, eax
test esi, esi
js 0x1008b7c7
mov edi, dword [esp + 0x40]
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1013137a
sub ecx, edx
sar ecx, 1
je 0x10131646
cmp dword [esp + 0x28], 0
je 0x10131640
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x84]
mov eax, dword [eax + 0x8c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x38], 0
mov dword [0x1023ce78], esi
cmp eax, dword [0x1023ce7c]
je 0x101313dc
push dword [0x1023a264]
push eax
call fcn.10031b37
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.10091919
mov edi, eax
test edi, edi
js 0x10131632
mov edx, dword [esp + 0x10]
mov edi, edx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x101313fa
mov eax, dword [esi + 0x800]
mov ebx, dword [esi + 0x854]
sub edi, ecx
mov esi, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10131420
sub esi, ecx
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x1013142c
mov eax, dword [esp + 0x24]
sub ebx, ecx
lea ebp, [esi + 5]
add ebp, ebx
mov dword [esp + 0x14], ebp
cmp eax, 0xffff
je 0x10131469
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x90]
call fcn.1002fbea
mov edx, dword [esp + 0x10]
dec eax
inc ebp
add ebp, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebp
mov cl, byte [edx]
mov ebp, edi
mov dword [esp + 0x34], edi
test cl, cl
je 0x101314b5
movzx eax, cl
mov al, byte [eax + 0x1023bae0]
test al, al
jne 0x101314a3
cmp cl, 0x5c
je 0x10131496
cmp cl, 0xa
je 0x10131496
cmp cl, 0xd
je 0x10131496
cmp cl, 0x22
jne 0x1013149f
mov dword [esp + 0x38], 1
inc ebp
test al, al
je 0x101314a9
inc edx
test cl, cl
jne 0x101314a9
dec edx
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x10131475
mov dword [esp + 0x34], ebp
mov edi, dword [esp + 0x14]
add edi, 2
add edi, ebp
cmp edi, 0x400
jae 0x101314da
mov ebp, 0x10242338
mov dword [esp + 0x14], 1
mov edi, 0x400
jmp 0x101314f2
push edi
call fcn.1000ac41
mov ebp, eax
mov dword [esp + 0x14], 0
test ebp, ebp
je 0x101310b9
push dword [esp + 0x20]
push edi
push ebp
call dword [sym.imp.msvcr100.dll__mbscpy_s]
mov ecx, dword [esp + 0x30]
mov byte [esi + ebp], 0x20
add esp, 0xc
inc esi
cmp ecx, 0xffff
je 0x10131534
mov eax, edi
sub eax, esi
push eax
lea eax, [esi + ebp]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x90]
call fcn.1002fba2
add esi, dword [esp + 0x18]
mov byte [esi + ebp], 0x2e
inc esi
push dword [esp + 0x2c]
mov eax, edi
sub eax, esi
push eax
lea eax, [esi + ebp]
push eax
call dword [sym.imp.msvcr100.dll__mbscpy_s]
add esi, ebx
mov dword [esi + ebp], 0x22203d20
add esp, 0xc
add esi, 4
cmp dword [esp + 0x38], 0
jne 0x1013157a
push dword [esp + 0x10]
sub edi, esi
lea eax, [esi + ebp]
push edi
push eax
call dword [sym.imp.msvcr100.dll__mbscpy_s]
add esp, 0xc
add esi, dword [esp + 0x34]
jmp 0x101315fb
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
lea ecx, [esi + ebp]
test edi, edi
je 0x101315fb
mov bl, byte [edx]
movzx eax, bl
cmp byte [eax + 0x1023bae0], 0
je 0x101315a7
mov byte [ecx], bl
mov al, byte [edx + 1]
mov byte [ecx + 1], al
add ecx, 2
add esi, 2
jmp 0x101315dc
movsx eax, bl
add eax, 0xfffffff6
cmp eax, 0x52
ja case.0x101315b9.11
movzx eax, byte [eax + 0x10131b84]
jmp dword [eax*4 + 0x10131b70]
mov byte [ecx], 0x5c
jmp 0x101315d6
mov byte [ecx], 0x5c
mov bl, 0x6e
jmp 0x101315d6
mov byte [ecx], 0x5c
mov bl, 0x72
jmp 0x101315d6
mov byte [ecx], 0x22
inc ecx
inc esi
mov byte [ecx], bl
inc ecx
inc esi
mov bl, byte [edx]
movzx eax, bl
cmp byte [eax + 0x1023bae0], 0
je 0x101315f0
inc edx
test bl, bl
jne 0x101315f0
dec edx
inc edx
mov eax, edx
sub eax, dword [esp + 0x10]
cmp eax, edi
jb 0x10131589
push dword [esp + 0x48]
mov byte [esi + ebp], 0x22
push 0
inc esi
push esi
push 0
push ebp
mov byte [esi + ebp], 0
call dword [esp + 0x3c]
cmp dword [esp + 0x14], 0
mov edi, eax
jne 0x10131621
push ebp
call fcn.1000ac28
mov ecx, dword [esp + 0x10]
call fcn.1001eb26
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov esi, edi
test edi, edi
js 0x1008b7b5
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
inc dword [eax]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], 0
jmp 0x1008b780
xor eax, eax
jmp 0x1008b78d
cmp dword [esp + 0x28], 0
je 0x10131809
mov edi, dword [esp + 0x1c]
mov esi, dword [edi + 0x84]
lea eax, [esp + 0x58]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x8c]
mov dword [esp + 0x14], 0
mov dword [0x1023ce78], esi
cmp eax, dword [0x1023ce7c]
je 0x101316aa
push dword [0x1023a264]
push eax
call fcn.10031b37
mov eax, dword [esi + 0x800]
mov edx, dword [esi + 0x84c]
mov esi, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], edx
lea ecx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x101316c5
mov ebx, edx
sub esi, ecx
lea ecx, [ebx + 1]
mov edi, edi
mov al, byte [ebx]
inc ebx
test al, al
jne 0x101316d5
mov eax, dword [esp + 0x24]
sub ebx, ecx
lea ebp, [esi + 5]
add ebp, ebx
cmp eax, 0xffff
je 0x10131704
mov ecx, dword [edi + 0x90]
push eax
call fcn.1002fbea
lea ecx, [eax - 1]
inc ebp
mov dword [esp + 0x14], ecx
add ebp, ecx
add ebp, 0xa
cmp ebp, 0x400
jae 0x10131727
mov edi, 0x10242338
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], 1
mov ebp, 0x400
jmp 0x10131743
push ebp
call fcn.1000ac41
mov edi, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0
test edi, edi
je 0x101310b9
push dword [esp + 0x20]
push ebp
push edi
call dword [sym.imp.msvcr100.dll__mbscpy_s]
mov ecx, dword [esp + 0x30]
mov byte [edi + esi], 0x20
add esp, 0xc
lea edi, [esi + 1]
mov esi, dword [esp + 0x10]
cmp ecx, 0xffff
je 0x1013178b
mov eax, ebp
sub eax, edi
push eax
lea eax, [edi + esi]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x90]
call fcn.1002fba2
add edi, dword [esp + 0x14]
mov byte [esi + edi], 0x2e
inc edi
push dword [esp + 0x2c]
mov eax, ebp
sub eax, edi
push eax
lea eax, [edi + esi]
push eax
call dword [sym.imp.msvcr100.dll__mbscpy_s]
add edi, ebx
mov ebx, dword [esp + 0x1c]
mov word [ebx + edi], 0x3d20
mov byte [ebx + edi + 2], 0x20
mov eax, dword [esp + 0x3c]
add edi, 3
push 0xa
sub ebp, edi
push ebp
lea esi, [edi + ebx]
push esi
push dword [eax]
call dword [sym.imp.msvcr100.dll__ltoa_s]
add esp, 0x1c
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101317cd
push dword [esp + 0x48]
sub esi, ecx
push 0
add edi, esi
push edi
push 0
push ebx
call dword [esp + 0x3c]
cmp dword [esp + 0x18], 0
mov esi, eax
jne 0x101317f5
push ebx
call fcn.1000ac28
test esi, esi
js 0x1008b7b5
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
inc dword [edx]
jmp 0x1008b79c
xor eax, eax
jmp 0x1008b7a9
lea ecx, [esp + 0x44]
push ecx
push eax
mov ecx, ebx
call fcn.102023be
mov esi, eax
test esi, esi
js 0x1008b7b5
lea ecx, [esp + 0x44]
call fcn.1001b5e9
mov esi, eax
test esi, esi
js 0x1008b7c7
mov ecx, dword [esp + 0x44]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10131848
sub ecx, edx
sar ecx, 1
je 0x1008b7b5
cmp dword [esp + 0x28], 0
je 0x10131af9
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x84]
mov eax, dword [eax + 0x8c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [0x1023ce78], esi
cmp eax, dword [0x1023ce7c]
je 0x101318ae
push dword [0x1023a264]
push eax
call fcn.10031b37
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x10]
call fcn.10091919
mov ebx, eax
test ebx, ebx
jns 0x101318c4
mov esi, eax
jmp 0x10131af1
mov edx, dword [esp + 0x10]
mov ebp, edx
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x101318cd
mov eax, dword [esi + 0x800]
mov ebx, dword [esi + 0x848]
mov esi, eax
sub ebp, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101318f0
sub esi, ecx
mov ecx, ebx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101318fe
mov eax, dword [esp + 0x24]
sub ecx, edi
lea edi, [esi + 5]
add edi, ecx
mov dword [esp + 0x30], ecx
cmp eax, 0xffff
je 0x10131937
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x90]
call fcn.1002fbea
mov edx, dword [esp + 0x10]
dec eax
inc edi
mov dword [esp + 0x14], eax
add edi, eax
mov cl, byte [edx]
mov ebx, ebp
mov dword [esp + 0x38], ebp
test cl, cl
je 0x10131983
movzx eax, cl
mov al, byte [eax + 0x1023bae0]
test al, al
jne 0x10131971
cmp cl, 0x5c
je 0x10131964
cmp cl, 0xa
je 0x10131964
cmp cl, 0xd
je 0x10131964
cmp cl, 0x22
jne 0x1013196d
mov dword [esp + 0x18], 1
inc ebx
test al, al
je 0x10131977
inc edx
test cl, cl
jne 0x10131977
dec edx
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x10131943
mov dword [esp + 0x38], ebx
add ebx, 2
add ebx, edi
cmp ebx, 0x400
jae 0x101319a4
mov edi, 0x10242338
mov dword [esp + 0x34], 1
mov ebx, 0x400
jmp 0x101319bc
push ebx
call fcn.1000ac41
mov edi, eax
mov dword [esp + 0x34], 0
test edi, edi
je 0x101310b9
push dword [esp + 0x20]
push ebx
push edi
call dword [sym.imp.msvcr100.dll__mbscpy_s]
mov ecx, dword [esp + 0x30]
mov byte [edi + esi], 0x20
add esp, 0xc
inc esi
cmp ecx, 0xffff
je 0x101319fe
mov eax, ebx
sub eax, esi
push eax
lea eax, [edi + esi]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x90]
call fcn.1002fba2
add esi, dword [esp + 0x14]
mov byte [esi + edi], 0x2e
inc esi
push dword [esp + 0x2c]
mov eax, ebx
sub eax, esi
push eax
lea eax, [edi + esi]
push eax
call dword [sym.imp.msvcr100.dll__mbscpy_s]
add esi, dword [esp + 0x3c]
add esp, 0xc
mov dword [edi + esi], 0x22203d20
add esi, 4
cmp dword [esp + 0x18], 0
jne 0x10131a43
push dword [esp + 0x10]
sub ebx, esi
lea eax, [edi + esi]
push ebx
push eax
call dword [sym.imp.msvcr100.dll__mbscpy_s]
add esp, 0xc
add esi, dword [esp + 0x38]
jmp 0x10131ac0
mov edx, dword [esp + 0x10]
lea ecx, [esi + edi]
test ebp, ebp
je 0x10131ac0
mov bl, byte [edx]
movzx eax, bl
cmp byte [eax + 0x1023bae0], 0
je 0x10131a6c
mov byte [ecx], bl
mov al, byte [edx + 1]
mov byte [ecx + 1], al
add ecx, 2
add esi, 2
jmp 0x10131aa1
movsx eax, bl
add eax, 0xfffffff6
cmp eax, 0x52
ja case.0x10131a7e.11
movzx eax, byte [eax + 0x10131bec]
jmp dword [eax*4 + 0x10131bd8]
mov byte [ecx], 0x5c
jmp 0x10131a9b
mov byte [ecx], 0x5c
mov bl, 0x6e
jmp 0x10131a9b
mov byte [ecx], 0x5c
mov bl, 0x72
jmp 0x10131a9b
mov byte [ecx], 0x22
inc ecx
inc esi
mov byte [ecx], bl
inc ecx
inc esi
mov bl, byte [edx]
movzx eax, bl
cmp byte [eax + 0x1023bae0], 0
je 0x10131ab5
inc edx
test bl, bl
jne 0x10131ab5
dec edx
inc edx
mov eax, edx
sub eax, dword [esp + 0x10]
cmp eax, ebp
jb 0x10131a4e
push dword [esp + 0x48]
mov byte [edi + esi], 0x22
push 0
inc esi
push esi
push 0
push edi
mov byte [edi + esi], 0
call dword [esp + 0x3c]
cmp dword [esp + 0x34], 0
mov ebx, eax
jne 0x10131ae6
push edi
call fcn.1000ac28
mov ecx, dword [esp + 0x10]
call fcn.1001eb26
mov esi, ebx
test ebx, ebx
js 0x1008b7b5
mov eax, dword [esp + 0x3c]
inc dword [eax]
jmp 0x1008b7b5