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

Disassembly:
sub esp, 0x34
movq xmm1, qword [esp + 0x38]
xor ecx, ecx
push ebx
push ebp
mov ebp, dword [esp + 0x58]
xor edx, edx
push esi
mov esi, dword [esp + 0x4c]
neg esi
mov eax, esi
mov dword [esp + 0x14], esi
bts ecx, eax
cmp eax, 0x20
push edi
cmovae edx, ecx
movd xmm0, esi
xor ecx, edx
cmp eax, 0x40
mov dword [esp + 0x1c], ecx
cmovae edx, ecx
add ecx, 0xffffffff
psrlq xmm1, xmm0
mov dword [esp + 0x28], edx
adc edx, 0xffffffff
movd ebx, xmm1
mov dword [esp + 0x20], ecx
and ecx, dword [esp + 0x48]
mov dword [esp + 0x24], edx
and edx, dword [esp + 0x4c]
push ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
call fcn.100b4060
mov edi, eax
add esp, 4
mov dword [ebp], edi
mov ecx, esi
mov eax, dword [edi*8 + 0x100f59f8]
mov edx, dword [edi*8 + 0x100f59fc]
call fcn.100e5b50
mov esi, dword [esp + 0x64]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], edx
cmp byte [esi + 0x10], 0
je 0x100ac230
mov eax, dword [esi + 0xc]
add eax, edi
add dword [esi + 8], eax
mov eax, dword [esi + 8]
test eax, eax
jle 0x100ac4c2
mov edi, dword [ebp]
nop dword [eax + eax]
xor eax, eax
lea ecx, [edi - 1]
mov dword [esp + 0x60], eax
cmp ecx, 9
ja case.default.0x100ac242
jmp dword [ecx*4 + 0x100ac530]
mov eax, ebx
xor edx, edx
mov ebx, 0x3b9aca00
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor edx, edx
mov ebx, 0x5f5e100
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor edx, edx
mov ebx, 0x989680
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor edx, edx
mov ebx, 0xf4240
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor edx, edx
mov ebx, 0x186a0
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor edx, edx
mov ebx, 0x2710
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor edx, edx
mov ebx, 0x3e8
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor edx, edx
mov ebx, 0x64
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor edx, edx
mov ebx, 0xa
div ebx
mov ebx, edx
jmp 0x100ac2d4
mov eax, ebx
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x18]
movd xmm1, dword [esp + 0x34]
mov dword [ebp], ecx
mov eax, dword [ecx*8 + 0x100f5a00]
mov edx, dword [ecx*8 + 0x100f5a04]
mov ecx, edi
movd xmm0, edi
psllq xmm1, xmm0
movq xmm0, qword [esp + 0x3c]
paddq xmm1, xmm0
movq qword [esp + 0x2c], xmm1
call fcn.100e5b50
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
add al, 0x30
mov byte [edi + ecx], al
inc dword [esi + 4]
mov edi, dword [esi + 4]
cmp edi, dword [esi + 8]
jge 0x100ac456
mov edi, dword [ebp]
test edi, edi
jg 0x100ac230
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
nop word [eax + eax]
mov edx, dword [esp + 0x14]
mov eax, edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
shld ecx, eax, 2
shl eax, 2
add edx, eax
mov eax, dword [esp + 0x10]
adc eax, ecx
mov ecx, ebx
shld eax, edx, 1
mov dword [esp + 0x10], eax
add edx, edx
mov eax, edi
mov dword [esp + 0x14], edx
shld ecx, eax, 2
shl eax, 2
add edi, eax
mov eax, edx
mov edx, dword [esp + 0x10]
adc ebx, ecx
mov ecx, dword [esp + 0x18]
shld ebx, edi, 1
add edi, edi
call fcn.100e5be0
dec dword [ebp]
add al, 0x30
mov ecx, dword [esp + 0x20]
and dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
and dword [esp + 0x10], ecx
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jl 0x100ac350
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
ja 0x100ac449
mov edx, dword [esp + 0x1c]
jb 0x100ac3d9
cmp edi, edx
jae 0x100ac449
mov ecx, edx
mov eax, ebp
sub ecx, edi
sbb eax, ebx
cmp ebx, eax
ja 0x100ac449
jb 0x100ac3eb
cmp edi, ecx
jae 0x100ac449
mov ecx, dword [esp + 0x10]
push ebx
push edi
push ecx
push dword [esp + 0x20]
push ebp
push edx
call fcn.100b3fb0
mov ecx, eax
add esp, 0x18
cmp ecx, 1
je 0x100ac418
xor eax, eax
cmp ecx, 2
pop edi
pop esi
setne al
pop ebp
inc eax
pop ebx
add esp, 0x34
ret
mov ecx, dword [esi + 4]
mov eax, dword [esi]
inc byte [ecx + eax - 1]
mov ecx, dword [esi + 4]
dec ecx
test ecx, ecx
jle 0x100ac49f
nop dword [eax]
mov eax, dword [esi]
cmp byte [ecx + eax], 0x39
jle 0x100ac49f
mov byte [ecx + eax], 0x30
mov eax, dword [esi]
inc byte [ecx + eax - 1]
dec ecx
test ecx, ecx
jg 0x100ac430
jmp 0x100ac49f
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x34
ret
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x38]
push dword [esp + 0x38]
push edx
push dword [esp + 0x78]
call fcn.100b3fb0
mov ecx, eax
add esp, 0x18
cmp ecx, 1
jne 0x100ac407
mov eax, dword [esi]
inc byte [edi + eax - 1]
mov ecx, dword [esi + 4]
dec ecx
test ecx, ecx
jle 0x100ac49f
mov eax, dword [esi]
cmp byte [eax + ecx], 0x39
jle 0x100ac49f
mov byte [eax + ecx], 0x30
mov eax, dword [esi]
inc byte [eax + ecx - 1]
dec ecx
test ecx, ecx
jg 0x100ac488
mov eax, dword [esi]
cmp byte [eax], 0x39
jle 0x100ac522
mov byte [eax], 0x31
mov ecx, dword [esi + 4]
mov eax, dword [esi]
pop edi
mov byte [ecx + eax], 0x30
mov eax, 1
inc dword [esi + 4]
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
js 0x100ac522
mov edi, dword [esp + 0x58]
mov eax, edi
mov edx, dword [esp + 0x5c]
mov ecx, edx
shld ecx, eax, 2
shl eax, 2
add edi, eax
adc edx, ecx
shld edx, edi, 1
push edx
add edi, edi
push edi
push 0
push 0xa
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.100e5b70
push edx
push eax
push dword [esp + 0x70]
push dword [esp + 0x40]
call fcn.100b3fb0
add esp, 0x18
test eax, eax
je 0x100ac449
mov ecx, dword [esi + 4]
cmp eax, 1
mov eax, dword [esi]
sete dl
add dl, 0x30
mov byte [ecx + eax], dl
inc dword [esi + 4]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x34
ret