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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x1006c3ac]
xor eax, esp
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x70]
xorps xmm0, xmm0
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov eax, ecx
push ebx
push ebp
not eax
mov dword [esp + 0x18], ecx
push esi
mov dword [esp + 0x14], eax
lea ebx, [ecx + 2]
mov esi, 0xfffffffd
mov dword [esp + 0xc], 2
mov eax, 1
sub esi, ecx
sub eax, ecx
mov dword [esp + 0x10], esi
mov ebp, 0xfffffffe
mov dword [esp + 0x18], eax
push edi
movups xmmword [esp + 0x28], xmm0
sub ebp, ecx
movups xmmword [esp + 0x38], xmm0
nop
lea edx, [ebx + ebp]
mov edi, 1
mov eax, edx
shr edx, 1
and eax, 1
sub edi, eax
movzx eax, byte [ebx - 2]
shl edi, 3
mov ecx, edi
shl eax, cl
or dword [esp + edx*4 + 0x28], eax
lea eax, [esi + ebx]
and eax, 1
lea edx, [esp + 0x28]
mov esi, 1
sub esi, eax
mov eax, dword [esp + 0x18]
add eax, ebx
shl esi, 3
shr eax, 1
mov ecx, esi
lea edx, [edx + eax*4]
movzx eax, byte [ebx - 1]
shl eax, cl
mov ecx, edi
or dword [edx], eax
lea edx, [esp + 0x28]
mov eax, dword [esp + 0x10]
shr eax, 1
lea edx, [edx + eax*4]
add dword [esp + 0x10], 4
movzx eax, byte [ebx]
shl eax, cl
mov ecx, esi
or dword [edx], eax
lea edx, [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
add eax, ebx
shr eax, 1
lea edx, [edx + eax*4]
movzx eax, byte [ebx + 1]
add ebx, 4
shl eax, cl
or dword [edx], eax
lea eax, [ebx + ebp]
cmp eax, 0x10
jl 0x1004aec0
or edi, 0xffffffff
xor ebp, ebp
or ecx, edi
xor edx, edx
xor esi, esi
nop dword [eax + eax]
cmp dword [esp + esi*4 + 0x28], 0
mov ebx, ecx
mov eax, ecx
jne 0x1004af83
cmp eax, 0xffffffff
mov ecx, esi
cmovne ecx, eax
lea eax, [edx + 1]
cmp ebx, 0xffffffff
mov edx, 1
cmovne edx, eax
jmp 0x1004af98
cmp ecx, 0xffffffff
je 0x1004af98
cmp edi, 0xffffffff
je 0x1004af91
cmp edx, ebp
jle 0x1004af95
mov edi, ecx
mov ebp, edx
or ecx, 0xffffffff
inc esi
cmp esi, 8
jl 0x1004af60
cmp ecx, 0xffffffff
je 0x1004afb6
cmp edi, 0xffffffff
je 0x1004afac
cmp edx, ebp
jle 0x1004afb6
mov ebp, edx
mov edi, ecx
mov dword [esp + 0x10], ebp
jmp 0x1004afbf
mov dword [esp + 0x10], ebp
cmp edi, 0xffffffff
je 0x1004afc8
or eax, 0xffffffff
cmp ebp, 2
cmovl edi, eax
lea esi, [esp + 0x48]
xor ebx, ebx
nop
cmp edi, 0xffffffff
je 0x1004afea
cmp ebx, edi
jl 0x1004afea
lea eax, [edi + ebp]
cmp ebx, eax
jge 0x1004afea
cmp ebx, edi
jne 0x1004b02f
mov byte [esi], 0x3a
inc esi
jmp 0x1004b02f
test ebx, ebx
je 0x1004b016
mov byte [esi], 0x3a
lea ecx, [esi + 1]
mov dword [esp + 0x14], ecx
mov esi, ecx
cmp ebx, 6
jne 0x1004b016
test edi, edi
jne 0x1004b016
cmp ebp, ebx
je 0x1004b082
cmp ebp, 5
jne 0x1004b016
cmp dword [esp + 0x3c], 0xffff
je 0x1004b082
push dword [esp + ebx*4 + 0x28]
push 0x10066dbc
push 5
push esi
call fcn.1001cf80
add esp, 0x10
add esi, eax
lea eax, [edi + ebp]
inc ebx
cmp ebx, 8
jl 0x1004afd0
cmp edi, 0xffffffff
je 0x1004b043
cmp eax, 8
jne 0x1004b043
mov byte [esi], 0x3a
inc esi
mov byte [esi], 0
lea eax, [esp + 0x48]
sub esi, eax
inc esi
cmp esi, dword [esp + 0x88]
ja 0x1004b09e
mov edx, eax
mov eax, dword [esp + 0x24]
mov esi, eax
mov ecx, edx
sub esi, ecx
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [esi + edx - 1], cl
test cl, cl
jne 0x1004b062
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.10058fa8
add esp, 0x6c
ret
lea eax, [esp + 0x76]
sub eax, ecx
push eax
mov eax, dword [esp + 0x24]
push ecx
add eax, 0xc
push eax
call fcn.1004adb0
add esp, 0xc
test eax, eax
jne 0x1004b0bf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
mov dword [eax], 0x1c
xor ecx, esp
xor eax, eax
call fcn.10058fa8
add esp, 0x6c
ret
mov ecx, dword [esp + 0x14]
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x1004b0c8
mov eax, dword [esp + 0x10]
sub edx, esi
add eax, edi
lea esi, [edx + ecx]
jmp 0x1004b03a