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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x174
mov eax, dword [0x1006a080]
xor eax, esp
mov dword [esp + 0x170], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x14], edx
xor ebx, ebx
mov dword [esp + 8], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
push edi
mov edi, dword [ebp + 0xc]
test edx, edx
je 0x1000b163
test eax, eax
je 0x1000b163
cmp eax, 1
jbe 0x1000b047
test edi, edi
je 0x1000b04f
mov cl, byte [edi]
test cl, cl
je 0x1000b04f
mov esi, eax
mov al, cl
cmp cl, 0x25
je 0x1000ad06
mov eax, ebx
inc ebx
cmp eax, esi
jae 0x1000b102
inc edi
mov byte [edx], cl
inc edx
mov dword [esp + 0x10], edx
mov cl, byte [edi]
mov al, cl
test cl, cl
jne 0x1000ace4
cmp al, 0x25
jne 0x1000b035
mov al, byte [edi + 1]
cmp al, 0x25
jne 0x1000ad2c
mov eax, ebx
inc ebx
cmp eax, esi
jae 0x1000b102
mov byte [edx], 0x25
inc edx
add edi, 2
jmp 0x1000b031
inc edi
mov byte [esp + 0x38], 0x25
lea esi, [esp + 0x39]
cmp al, 0x30
je 0x1000ad4e
cmp al, 0x2b
je 0x1000ad4e
cmp al, 0x2d
je 0x1000ad4e
cmp al, 0x20
je 0x1000ad4e
cmp al, 0x2a
je 0x1000ad57
cmp al, 0x23
jne 0x1000ada6
mov byte [esi], al
inc esi
mov al, byte [edi + 1]
inc edi
jmp 0x1000ad36
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x14]
cmp byte [eax], 0
je 0x1000b0ad
push 1
call dword [0x100917e8]
push 0xa
lea eax, [esp + 0x7c]
push eax
mov eax, dword [sym.CLEO.asi_opcodeParams]
push dword [eax]
call fcn.10036089
mov al, byte [esp + 0x84]
add esp, 0xc
test al, al
je 0x1000ad51
lea ecx, [esp + 0x78]
sub ecx, esi
mov byte [esi], al
inc esi
mov al, byte [ecx + esi]
test al, al
jne 0x1000ad96
mov al, byte [edi + 1]
inc edi
jmp 0x1000ad36
movsx eax, al
push eax
call fcn.10035c80
add esp, 4
test eax, eax
je 0x1000adcc
mov al, byte [edi]
inc edi
mov byte [esi], al
inc esi
movsx eax, byte [edi]
push eax
call fcn.10035c80
add esp, 4
test eax, eax
jne 0x1000adb6
cmp byte [edi], 0x2e
jne 0x1000ae5a
mov al, byte [edi + 1]
inc edi
mov byte [esi], 0x2e
inc esi
cmp al, 0x2a
jne 0x1000ae34
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x14]
cmp byte [eax], 0
je 0x1000b0ad
push 1
call dword [0x100917e8]
push 0xa
lea eax, [esp + 0x7c]
push eax
mov eax, dword [sym.CLEO.asi_opcodeParams]
push dword [eax]
call fcn.10036089
mov cl, byte [esp + 0x84]
add esp, 0xc
test cl, cl
je 0x1000ae5a
mov eax, dword [esp + 0x1c]
lea eax, [eax + 1]
mov byte [esi], cl
mov cl, byte [eax]
inc esi
test cl, cl
jne 0x1000ae26
jmp 0x1000ae5a
movsx eax, al
push eax
call fcn.10035c80
add esp, 4
test eax, eax
je 0x1000ae5a
mov al, byte [edi]
inc edi
mov byte [esi], al
inc esi
movsx eax, byte [edi]
push eax
call fcn.10035c80
add esp, 4
test eax, eax
jne 0x1000ae44
mov al, byte [edi]
cmp al, 0x68
je 0x1000ae64
cmp al, 0x6c
jne 0x1000ae6a
inc edi
mov byte [esi], al
inc esi
mov al, byte [edi]
cmp al, 0x63
je 0x1000affb
cmp al, 0x73
je 0x1000af90
lea ecx, [esp + 0x78]
mov dword [esp + 0x1c], ecx
cmp al, 0x70
je 0x1000af21
cmp al, 0x50
je 0x1000af21
mov byte [esi], al
mov byte [esi + 1], 0
cmp al, 0x61
je 0x1000aede
cmp al, 0x41
je 0x1000aede
cmp al, 0x65
je 0x1000aede
cmp al, 0x45
je 0x1000aede
cmp al, 0x66
je 0x1000aede
cmp al, 0x46
je 0x1000aede
cmp al, 0x67
je 0x1000aede
cmp al, 0x47
je 0x1000aede
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x14]
cmp byte [eax], 0
je 0x1000b0ad
push 1
call dword [0x100917e8]
mov eax, dword [sym.CLEO.asi_opcodeParams]
push dword [eax]
lea eax, [esp + 0x3c]
push eax
jmp 0x1000af45
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x14]
cmp byte [eax], 0
je 0x1000b0ad
push 1
call dword [0x100917e8]
mov eax, dword [sym.CLEO.asi_opcodeParams]
sub esp, 8
movss xmm0, dword [eax]
lea eax, [esp + 0x40]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x84]
push eax
call fcn.100088c0
add esp, 0x10
jmp 0x1000af55
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x14]
cmp byte [eax], 0
je 0x1000b0ad
push 1
call dword [0x100917e8]
mov eax, dword [sym.CLEO.asi_opcodeParams]
push dword [eax]
push str._08X
lea eax, [esp + 0x80]
push eax
call fcn.100088c0
add esp, 0xc
cmp byte [esp + 0x78], 0
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
je 0x1000aff8
mov ecx, dword [esp + 0x1c]
nop dword [eax]
mov eax, ebx
inc ebx
cmp eax, esi
jae 0x1000b102
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
mov dword [esp + 0x10], edx
cmp byte [ecx], 0
jne 0x1000af70
inc edi
jmp 0x1000b035
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x14]
cmp byte [eax], 0
je 0x1000b0ad
push 0xff
lea eax, [esp + 0x7c]
mov byte [esp + 0x17b], 0
push eax
xor edx, edx
call fcn.10021300
mov ecx, eax
test ecx, ecx
jne 0x1000afc6
mov ecx, str._INVALID_STR_
jmp 0x1000afcb
cmp byte [ecx], 0
je 0x1000aff0
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, ebx
inc ebx
cmp eax, esi
jae 0x1000b102
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
mov dword [esp + 0x10], edx
cmp byte [ecx], 0
jne 0x1000afd3
inc edi
jmp 0x1000b035
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
inc edi
jmp 0x1000b035
mov esi, dword [esp + 0x14]
mov eax, ebx
inc ebx
cmp eax, esi
jae 0x1000b102
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x14]
cmp byte [eax], 0
je 0x1000b0ad
push 1
call dword [0x100917e8]
mov eax, dword [sym.CLEO.asi_opcodeParams]
mov edx, dword [esp + 0x10]
mov al, byte [eax]
mov byte [edx], al
inc edx
inc edi
mov dword [esp + 0x10], edx
mov cl, byte [edi]
test cl, cl
jne 0x1000ace4
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
cmp ebx, eax
jae 0x1000b106
mov eax, dword [esi + 0x14]
cmp byte [eax], 0
je 0x1000b087
push 1
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10022c40
cmp dword [eax + 0x14], 0xf
jbe 0x1000b06d
mov eax, dword [eax]
push eax
push str.More_params_than_slots_in_formatted_string_in_script__s
push 1
push esi
call fcn.10008ed0
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.10007790
mov ecx, esi
call fcn.1000bcc0
mov eax, dword [esp + 0x18]
mov byte [eax + ebx], 0
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.1002e988
mov esp, ebp
pop ebp
ret
push 1
lea eax, [esp + 0x24]
push eax
call fcn.10022c40
cmp dword [eax + 0x14], 0xf
jbe 0x1000b0c1
mov eax, dword [eax]
mov esi, dword [esp + 0xc]
push eax
push str.Less_params_than_slots_in_formatted_string_in_script__s
push 1
push esi
call fcn.10008ed0
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.10007790
mov eax, dword [esp + 0x18]
inc dword [esi + 0x14]
mov byte [eax + ebx], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.1002e988
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0xc]
push 1
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10022c40
cmp dword [eax + 0x14], 0xf
jbe 0x1000b11c
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
push eax
push edi
push str.Target_buffer_too_small___d__to_read_whole_formatted_string_in_script__s
push 1
push esi
call fcn.10008ed0
add esp, 0x14
lea ecx, [esp + 0x20]
call fcn.10007790
mov ecx, esi
call fcn.1000bcc0
mov eax, dword [esp + 0x18]
mov byte [edi + eax - 1], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.1002e988
mov esp, ebp
pop ebp
ret
push str.ReadFormattedString_invalid_input_arg_s_
push 1
push esi
call fcn.10008ed0
add esp, 0xc
mov ecx, esi
call fcn.1000bcc0
mov ecx, dword [esp + 0x17c]
or eax, 0xffffffff
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1002e988
mov esp, ebp
pop ebp
ret