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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f7ad0
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x54f018]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [0x54f018]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
xor edi, edi
mov ebx, ecx
mov esi, edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x78], 1
push 9
push str.INTER_ECC
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], edi
mov byte [esp + 0x54], 0
call fcn.004016d0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x54]
push edx
mov ecx, esi
mov byte [esp + 0x84], 2
call fcn.004e9840
mov byte [esp + 0x78], 1
cmp dword [esp + 0x60], 0x10
jb 0x4ac3b7
mov eax, dword [esp + 0x4c]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
shr eax, 1
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], edi
je 0x4ac693
add ebx, 0x28
mov dword [esp + 0x48], ebx
mov dword [esp + 0x14], edi
nop
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x24]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], 0
mov byte [esp + 0x58], 0
call fcn.00401460
mov byte [esp + 0x78], 3
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x4c]
mov ecx, esi
cmp edx, 0x10
jae 0x4ac4a3
lea ecx, [esp + 0x4c]
mov eax, ecx
mov edi, dword [esp + 0x5c]
lea ebx, [edi + eax]
cmp edx, 0x10
jae 0x4ac445
lea esi, [esp + 0x4c]
cmp esi, ebx
je 0x4ac46d
mov edi, ecx
sub edi, esi
lea ecx, [ecx]
movsx ecx, byte [esi]
push ecx
call dword [sym.imp.MSVCR100.dll_toupper]
mov byte [edi + esi], al
inc esi
add esp, 4
cmp esi, ebx
jne 0x4ac450
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ecx, edi
cmp edi, 6
jb 0x4ac479
mov ecx, 6
mov eax, dword [esp + 0x4c]
cmp edx, 0x10
jae 0x4ac486
lea eax, [esp + 0x4c]
push ecx
push str.NORMAL
push eax
call fcn.00401d40
add esp, 0xc
test eax, eax
jne 0x4ac4b1
cmp edi, 6
jae 0x4ac4a7
or eax, 0xffffffff
jmp 0x4ac4af
mov eax, esi
jmp 0x4ac435
xor eax, eax
cmp edi, 6
setne al
test eax, eax
sete al
test al, al
je 0x4ac4bf
xor esi, esi
jmp 0x4ac55e
mov ecx, edi
cmp edi, 3
jb 0x4ac4cb
mov ecx, 3
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x4c]
cmp esi, 0x10
jae 0x4ac4dc
lea eax, [esp + 0x4c]
push ecx
push 0x53086c
push eax
call fcn.00401d40
add esp, 0xc
test eax, eax
jne 0x4ac503
cmp edi, 3
jae 0x4ac4f9
or eax, 0xffffffff
jmp 0x4ac501
xor eax, eax
cmp edi, 3
setne al
test eax, eax
sete al
test al, al
je 0x4ac511
mov esi, 1
jmp 0x4ac55e
mov ecx, edi
cmp edi, 4
jb 0x4ac51d
mov ecx, 4
mov eax, dword [esp + 0x4c]
cmp esi, 0x10
jae 0x4ac52a
lea eax, [esp + 0x4c]
push ecx
push 0x530870
push eax
call fcn.00401d40
add esp, 0xc
test eax, eax
jne 0x4ac551
cmp edi, 4
jae 0x4ac547
or eax, 0xffffffff
jmp 0x4ac54f
xor eax, eax
cmp edi, 4
setne al
test eax, eax
sete al
movzx esi, al
neg esi
sbb esi, esi
and esi, 2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp dword [eax + edx + 0x30], 0x10
lea eax, [eax + edx + 0x1c]
mov dword [esp + 0x18], esi
jb 0x4ac577
mov eax, dword [eax]
push 0x10
push 0
push eax
call dword [sym.imp.MSVCR100.dll_strtoul]
mov edi, dword [esp + 0x54]
mov byte [esp + 0x28], al
mov eax, dword [edi + 4]
lea ecx, [esp + 0x24]
add esp, 0xc
cmp ecx, eax
jae 0x4ac601
mov edx, dword [edi]
cmp edx, ecx
ja 0x4ac601
mov esi, ecx
mov ecx, dword [edi + 8]
sub esi, edx
sar esi, 3
cmp eax, ecx
jne 0x4ac5e9
sub eax, edx
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x4ac74c
sub ecx, edx
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x4ac5e9
mov edx, ecx
shr edx, 1
mov ebx, 0x1fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x4ac5d9
xor ecx, ecx
jmp 0x4ac5db
add ecx, edx
cmp ecx, eax
jae 0x4ac5e1
mov ecx, eax
push ecx
mov ecx, edi
call fcn.004c9db0
mov eax, dword [edi + 4]
mov edx, dword [edi]
lea esi, [edx + esi*8]
test eax, eax
je 0x4ac657
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
jmp 0x4ac657
mov ecx, dword [edi + 8]
cmp eax, ecx
jne 0x4ac647
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x4ac74c
sub ecx, edx
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x4ac647
mov edx, ecx
shr edx, 1
mov ebx, 0x1fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x4ac637
xor ecx, ecx
jmp 0x4ac639
add ecx, edx
cmp ecx, eax
jae 0x4ac63f
mov ecx, eax
push ecx
mov ecx, edi
call fcn.004c9db0
mov eax, dword [edi + 4]
test eax, eax
je 0x4ac657
mov ecx, dword [esp + 0x1c]
mov dword [eax], esi
mov dword [eax + 4], ecx
add dword [edi + 4], 8
mov byte [esp + 0x78], 1
cmp dword [esp + 0x60], 0x10
jb 0x4ac675
mov edx, dword [esp + 0x4c]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov eax, dword [esp + 0x20]
add dword [esp + 0x14], 0x38
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x44]
jb 0x4ac3f0
mov esi, dword [esp + 0x34]
xor edi, edi
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x4ac6dd
mov ebx, dword [esp + 0x28]
mov esi, eax
cmp eax, ebx
je 0x4ac6cf
cmp dword [esi + 0x14], 0x10
jb 0x4ac6b7
mov eax, dword [esi]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], edi
mov byte [esi], 0
add esi, 0x1c
cmp esi, ebx
jne 0x4ac6a5
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
mov esi, dword [esp + 0x38]
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
cmp esi, edi
je 0x4ac729
mov ebx, dword [esp + 0x38]
cmp esi, ebx
je 0x4ac71f
cmp dword [esi + 0x14], 0x10
jb 0x4ac707
mov ecx, dword [esi]
push ecx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], edi
mov byte [esi], 0
add esi, 0x1c
cmp esi, ebx
jne 0x4ac6f5
mov esi, dword [esp + 0x34]
push esi
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004e8d32
mov esp, ebp
pop ebp
ret
push str.vector_T__too_long
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const__]
int3