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

Disassembly:
push 0xffffffffffffffff
push 0x53bd86
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
mov eax, dword [0x570930]
xor eax, dword [esp + 0xb8]
push ebx
push ebp
mov dword [esp + 0xb0], eax
mov eax, dword [0x14074f8]
xor ebp, ebp
cmp eax, ebp
push esi
push edi
je 0x4ac211
mov ecx, dword [esp + 0x20]
mov edi, dword [0x14074fc]
push ecx
push 0x14074f4
call fcn.004af880
mov edx, dword [0x14074f8]
push edx
call fcn.00528435
add esp, 0xc
mov edi, 0xf
mov dword [0x14074f8], ebp
mov dword [0x14074fc], ebp
mov dword [0x1407500], ebp
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebp
mov byte [esp + 0xa0], 0
mov eax, 0x559228
mov dword [esp + 0xc4], ebp
mov dword [0xca26c4], ebp
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4ac253
sub eax, ecx
push eax
push 0x559228
lea ecx, [esp + 0xa4]
call fcn.00498410
lea eax, [esp + 0x9c]
push eax
push str.localizedstrings
push str..str
call fcn.004afb10
mov cl, byte [esp + 0x2b]
add esp, 0xc
lea edx, [esp + 0x10]
push edx
mov byte [esp + 0x14], cl
call fcn.004af100
mov dword [esp + 0x14], eax
mov byte [eax + 0x29], 1
mov eax, dword [esp + 0x14]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x14]
mov dword [eax], eax
mov eax, dword [esp + 0x14]
mov dword [eax + 8], eax
mov dword [esp + 0x18], ebp
lea esi, [esp + 0x9c]
mov byte [esp + 0xc4], 1
call fcn.004abd60
cmp eax, ebp
je 0x4ac5e0
mov edx, 0x140caa8
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4ac2e0
push 0x5c
push 0x140caa8
call fcn.00528700
push 0x2f
push 0x140caa8
mov esi, eax
call fcn.00528700
add esp, 0x10
cmp esi, eax
jbe 0x4ac30d
mov eax, esi
cmp eax, ebp
je 0x4ac314
mov byte [eax], 0
mov cl, byte [0x140caa8]
test cl, cl
mov edx, 0x140caa8
mov eax, edx
je 0x4ac33a
cmp cl, 0x2f
je 0x4ac32f
cmp cl, 0x5c
jne 0x4ac332
lea eax, [edx + 1]
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x4ac325
mov edx, 0x140ca28
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4ac341
mov eax, 0x140ca28
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebp
mov byte [esp + 0x28], cl
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ac360
sub eax, edx
push eax
push 0x140ca28
lea ecx, [esp + 0x2c]
call fcn.00498410
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x14]
mov byte [esp + 0xc8], 2
call fcn.004af050
mov esi, eax
lea ecx, [esp + 0x24]
lea eax, [esp + 0x10]
call fcn.004aef90
xor edx, edx
cmp eax, esi
mov ecx, eax
je 0x4ac3f7
mov al, byte [ecx + 0x29]
inc edx
test al, al
jne 0x4ac3f3
mov eax, dword [ecx + 8]
mov bl, byte [eax + 0x29]
test bl, bl
jne 0x4ac3cf
mov ecx, eax
mov eax, dword [ecx]
mov bl, byte [eax + 0x29]
test bl, bl
jne 0x4ac3f3
mov ecx, eax
mov eax, dword [ecx]
mov bl, byte [eax + 0x29]
test bl, bl
je 0x4ac3c2
jmp 0x4ac3f3
mov eax, dword [ecx + 4]
mov bl, byte [eax + 0x29]
test bl, bl
jne 0x4ac3f1
lea esp, [esp]
cmp ecx, dword [eax + 8]
jne 0x4ac3f1
mov ecx, eax
mov eax, dword [eax + 4]
mov bl, byte [eax + 0x29]
test bl, bl
je 0x4ac3e0
mov ecx, eax
cmp ecx, esi
jne 0x4ac3a5
mov eax, dword [esp + 0x3c]
cmp edx, ebp
mov esi, 0x10
sete bl
cmp eax, esi
mov byte [esp + 0xc4], 1
jb 0x4ac41e
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00528435
add esp, 4
test bl, bl
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebp
mov byte [esp + 0x28], 0
je 0x4ac5cc
mov eax, 0x140ca28
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebp
mov byte [esp + 0x84], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ac451
sub eax, edx
push eax
push 0x140ca28
lea ecx, [esp + 0x88]
call fcn.00498410
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0xd0], 3
call fcn.004ace20
cmp dword [esp + 0x98], esi
mov byte [esp + 0xc4], 1
jb 0x4ac4ac
mov edx, dword [esp + 0x84]
push edx
call fcn.00528435
add esp, 4
push str.english
push 0x140ca28
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], ebp
mov byte [esp + 0x8c], 0
call fcn.0053549f
add esp, 8
test eax, eax
mov eax, 0x140ca28
lea edx, [eax + 1]
jne 0x4ac568
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ac4f1
sub eax, edx
push eax
push 0x140ca28
lea ecx, [esp + 0x50]
call fcn.00498410
lea eax, [esp + 0x48]
push eax
push ecx
mov ecx, dword [0x14074f8]
mov eax, esp
lea edx, [esp + 0x48]
mov dword [esp + 0x28], esp
push edx
mov edi, 0x14074f4
mov byte [esp + 0xd0], 4
mov dword [eax], ecx
call fcn.004acd10
cmp dword [esp + 0x60], 0x10
mov byte [esp + 0xc4], 1
jb 0x4ac550
mov eax, dword [esp + 0x4c]
push eax
call fcn.00528435
add esp, 4
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
mov edi, 0xf
jmp 0x4ac5cc
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ac575
sub eax, edx
push eax
push 0x140ca28
lea ecx, [esp + 0x6c]
call fcn.00498410
lea ecx, [esp + 0x64]
push ecx
mov eax, 0x14074f4
mov byte [esp + 0xc8], 5
call fcn.004acc80
cmp dword [esp + 0x7c], esi
mov byte [esp + 0xc4], 1
jb 0x4ac5bf
mov edx, dword [esp + 0x68]
push edx
call fcn.00528435
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
lea esi, [esp + 0x9c]
call fcn.004abd60
cmp eax, ebp
jne 0x4ac2d6
mov eax, dword [0x14074f8]
cmp eax, ebp
jne 0x4ac5ed
xor edi, edi
jmp 0x4ac60a
mov ecx, dword [0x14074fc]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov edi, edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push eax
push ecx
lea ecx, [esp + 0x48]
push ecx
lea esi, [esp + 0x1c]
mov byte [esp + 0xd0], 0
call fcn.004ae300
mov edx, dword [esp + 0x14]
push edx
call fcn.00528435
mov eax, dword [esp + 0xb8]
add esp, 4
cmp eax, 0x10
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
jb 0x4ac659
mov eax, dword [esp + 0xa0]
push eax
call fcn.00528435
add esp, 4
mov ecx, dword [esp + 0xbc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xb0]
xor ecx, dword [esp + 0xc0]
pop ebp
pop ebx
add esp, 0xb8
jmp fcn.0052e7b9