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

Disassembly:
sub esp, 0x20
mov edx, dword [esp + 0x28]
push ebx
push ebp
push esi
mov esi, ecx
mov eax, edx
push edi
mov dword [esp + 0x10], 8
mov ebx, dword [esi + 0x18b728]
mov dword [esi], 1
sub eax, ebx
jns 0x4ac23d
mov dword [esi], 0
cmp eax, dword [esi + 0x18b730]
jl 0x4ac24b
mov dword [esi], 0
mov ebp, dword [esi + 0x18b724]
mov eax, dword [esp + 0x34]
sub eax, ebp
jns 0x4ac25f
mov dword [esi], 0
cmp eax, dword [esi + 0x18b72c]
jl 0x4ac26d
mov dword [esi], 0
mov eax, dword [0xb34930]
test eax, eax
je 0x4ac2ea
lea ecx, [eax + eax*4 - 5]
shl ecx, 5
mov ecx, dword [ecx + 0x6029ac]
cmp ecx, 0xffffffff
je 0x4ac2ea
lea eax, [eax + eax*4 - 5]
shl eax, 5
add eax, 0x6029b0
mov edi, dword [0x116fce0]
add ecx, edi
mov edi, dword [esp + 0x34]
cmp edi, ecx
jl 0x4ac2df
mov ecx, dword [eax + 4]
mov edi, dword [eax - 4]
add ecx, edi
mov edi, dword [0x116fce0]
add ecx, edi
mov edi, dword [esp + 0x34]
cmp edi, ecx
jg 0x4ac2df
mov ecx, dword [eax]
mov edi, dword [0x116fce4]
add edi, ecx
cmp edx, edi
jl 0x4ac2df
mov edi, dword [eax + 8]
add edi, ecx
mov ecx, dword [0x116fce4]
add edi, ecx
cmp edx, edi
jle 0x4ac381
mov ecx, dword [eax + 0xc]
add eax, 0x10
cmp ecx, 0xffffffff
jne 0x4ac294
mov eax, dword [esi]
xor ecx, ecx
cmp eax, ecx
jne 0x4ac3fd
cmp dword [0xb08908], 0xe
jne 0x4ac9ba
cmp dword [0xb0890c], 0x3d
jne 0x4ac9ba
lea edx, [esp + 0x34]
lea eax, [esp + 0x38]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
push edx
push eax
mov ecx, 0xa5ca68
call fcn.0048a980
mov edx, dword [esp + 0x38]
cmp edx, 0xffffffff
je 0x4ac9ba
mov eax, dword [esp + 0x34]
xor ebx, ebx
xor ebp, ebp
lea ecx, [eax + eax*2 + 0x621c9]
mov edi, dword [esi + ecx*4]
mov dword [esi + 0x44], ebx
add edi, edx
movsx ecx, word [edi*2 + 0xee2700]
mov dword [esi + 0x18], ecx
movsx ecx, word [edi*2 + 0xf1d530]
mov dword [esi + 0x20], ecx
mov cx, word [edi*2 + 0xee2700]
cmp cx, bx
jg 0x4ac3a7
test byte [edi*4 + 0xe44eb1], 1
je 0x4ac391
mov ebp, edi
jmp 0x4ac3a3
mov dword [esi], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 8
cmp cx, bx
jg 0x4ac3a7
xor ecx, ecx
mov cl, byte [edi + 0xf09b20]
mov dword [esi + 0x44], ecx
jmp 0x4ac3a7
cmp edi, ebx
jl 0x4ac3ad
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x50], ebp
mov dword [esi + 0x6c], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x64], eax
mov dword [esi + 8], eax
mov dword [esi + 0x60], edx
mov dword [esi + 4], edx
mov edx, dword [edi*4 + 0xe44eb0]
and edx, 0x40000000
push edi
mov ecx, 0xcdfd50
mov dword [esi + 0x34], edx
call fcn.004d0fb0
test eax, eax
jne 0x4ac3e4
mov dword [esi + 0x34], ebx
mov eax, dword [edi*4 + 0xe44eb0]
pop edi
and eax, 0x4000
mov dword [esi + 0x3c], eax
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 8
mov eax, dword [esi + 0x8c]
mov edi, dword [esi + 0x74]
cmp eax, ecx
mov dword [esp + 0x28], eax
jne 0x4ac44b
mov eax, edi
and eax, 0x8000001f
jns 0x4ac41c
dec eax
or eax, 0xffffffe0
inc eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esi + 0x78]
sub eax, ebp
add eax, ecx
mov ecx, edx
sar eax, 1
and eax, 0xf
and ecx, 0x8000000f
mov dword [esp + 0x20], eax
jns 0x4ac43f
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, dword [esp + 0x38]
sub ecx, ebx
lea ecx, [ecx + eax - 8]
jmp 0x4ac487
mov ecx, edi
and ecx, 0x8000001f
jns 0x4ac45a
dec ecx
or ecx, 0xffffffe0
inc ecx
mov edx, dword [esp + 0x34]
lea eax, [ecx + edx*2]
mov edx, dword [esi + 0x78]
sub eax, ebp
sar eax, 1
and eax, 0xf
mov dword [esp + 0x20], eax
mov eax, edx
and eax, 0x8000000f
jns 0x4ac47d
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, dword [esp + 0x38]
lea ecx, [eax + ecx*2 - 8]
sub ecx, ebx
mov eax, dword [0x116fafc]
and ecx, 0xf
test eax, eax
jne 0x4ac49d
mov dword [esp + 0x10], 8
jmp 0x4ac4c8
cmp eax, 6
jne 0x4ac4ac
mov dword [esp + 0x10], 0x13a18
jmp 0x4ac4c8
cmp eax, 4
jne 0x4ac4bb
mov dword [esp + 0x10], 0x27428
jmp 0x4ac4c8
cmp eax, 2
jne 0x4ac4c8
mov dword [esp + 0x10], 0x3ae38
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4ac4fa
mov eax, dword [esp + 0x38]
sub edx, ebx
lea eax, [edx + eax + 8]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
lea edx, [eax + eax*4]
lea ebx, [edx + edx*4]
shl ebx, 4
add ebx, eax
mov eax, edi
sub eax, ebp
mov ebp, dword [esp + 0x34]
add eax, ebp
jmp 0x4ac529
mov eax, dword [esp + 0x38]
lea eax, [eax + eax + 8]
sub eax, ebx
add eax, edx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
lea edx, [eax + eax*4]
lea ebx, [edx + edx*4]
mov edx, dword [esp + 0x34]
shl ebx, 4
add ebx, eax
lea eax, [edx + edx + 0xa0]
sub eax, ebp
add eax, edi
cdq
and edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sar eax, 5
add eax, edx
add eax, ebx
mov ebx, dword [esp + 0x20]
shl ecx, 4
add ecx, ebx
shl ecx, 2
mov edi, ecx
mov ecx, dword [edi + 0x601dac]
cmp ecx, 1
jne 0x4ac55a
add eax, 0xc8
jmp 0x4ac570
cmp ecx, 2
jne 0x4ac566
add eax, 0xc9
jmp 0x4ac570
cmp ecx, 3
jne 0x4ac570
add eax, 0x191
mov eax, dword [esi + eax*4 + 0x4e5dc]
xor ebx, ebx
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0xc]
movsx eax, word [eax*2 + 0xf44950]
mov dword [esi + 0x14], eax
mov edx, dword [ecx*4 + 0xe44eb0]
mov eax, ecx
mov dword [esi + 0x14], edx
mov edx, eax
movsx ecx, word [eax*2 + 0xee2700]
mov dword [esi + 0x18], ecx
movsx eax, word [edx*2 + 0xf1d530]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
cmp eax, ebx
mov dword [esi + 0x44], ebx
je 0x4ac5f5
mov dword [esi + 0x2c], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x24]
mov ecx, eax
shl ecx, 6
add ecx, eax
lea eax, [eax + ecx*4]
shl eax, 2
cmp word [eax + 0x12bc62e], 0x3a
jne 0x4ac5f5
cmp word [eax + 0x12bc860], 9
jne 0x4ac5f5
movsx edx, word [eax + 0x12bc8d8]
mov dword [esi + 0x1c], edx
mov dword [esi + 0x24], ebx
mov eax, dword [edi + 0x6021ac]
mov dword [esi + 0x48], eax
mov eax, dword [edi + 0x6025ac]
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], eax
shl ecx, 1
shl eax, 4
add eax, ecx
shl eax, 2
mov ecx, dword [eax + 0x616724]
mov dword [esi + 0x54], ecx
mov edx, dword [eax + 0x616728]
mov ecx, esi
mov dword [esi + 0x58], edx
call fcn.004ac9f0
mov eax, dword [esi + 0xc]
or ecx, 0xffffffff
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ecx
mov cx, word [eax*2 + 0xee2700]
cmp cx, bx
jg 0x4ac66e
mov edx, dword [eax*4 + 0xe44eb0]
test dh, 1
je 0x4ac65e
mov dword [esp + 0x1c], eax
jmp 0x4ac66e
cmp cx, bx
jg 0x4ac66e
xor ecx, ecx
mov cl, byte [eax + 0xf09b20]
mov dword [esi + 0x44], ecx
mov eax, dword [0x116fafc]
mov ecx, 8
cmp eax, ebx
mov dword [esp + 0x10], ecx
jne 0x4ac686
mov dword [esp + 0x10], ecx
jmp 0x4ac6b1
cmp eax, 6
jne 0x4ac695
mov dword [esp + 0x10], 0x13a18
jmp 0x4ac6b1
cmp eax, 4
jne 0x4ac6a4
mov dword [esp + 0x10], 0x27428
jmp 0x4ac6b1
cmp eax, 2
jne 0x4ac6b1
mov dword [esp + 0x10], 0x3ae38
mov ecx, dword [esp + 0x38]
mov eax, 0xfffffff8
mov dword [esp + 0x28], eax
lea edx, [ecx + ecx + 8]
lea ebp, [ecx - 8]
mov dword [esp + 0x18], edx
cmp dword [0x116fb28], ebx
jne 0x4ac6d9
cmp dword [0x116fb34], ebx
je 0x4ac6e2
cmp eax, 0xfffffff8
jne 0x4ac90b
cmp dword [esi + 0x8c], ebx
jne 0x4ac749
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x18b728]
mov ecx, eax
and ecx, 0x8000000f
jns 0x4ac702
dec ecx
or ecx, 0xfffffff0
inc ecx
sub eax, edx
sub ecx, edx
add ecx, ebp
lea eax, [eax + ebp + 0x10]
and ecx, 0xf
cdq
and edx, 0xf
add eax, edx
mov edx, dword [esi + 0x18b724]
mov edi, eax
sar edi, 4
lea eax, [edi + edi*4]
lea ebx, [eax + eax*4]
mov eax, dword [esp + 0x10]
shl ebx, 4
add ebx, eax
mov eax, dword [esp + 0x34]
sub eax, edx
mov edx, dword [esi + 0x74]
add eax, edx
add ebx, edi
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add eax, ebx
jmp 0x4ac7b5
mov ebx, dword [esi + 0x78]
mov edi, dword [esi + 0x18b728]
mov ecx, ebx
and ecx, 0x8000000f
jns 0x4ac761
dec ecx
or ecx, 0xfffffff0
inc ecx
mov edx, dword [esp + 0x18]
sub ecx, edi
add ecx, edx
mov edx, dword [esp + 0x34]
and ecx, 0xf
lea eax, [edx + edx + 0xa0]
mov edx, dword [esi + 0x18b724]
sub eax, edx
mov edx, dword [esi + 0x74]
add eax, edx
cdq
and edx, 0x1f
add edx, eax
mov eax, ebx
sub eax, edi
mov edi, dword [esp + 0x18]
sar edx, 5
add eax, edi
mov edi, edx
cdq
and edx, 0xf
add edx, eax
sar edx, 4
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
shl eax, 4
add eax, edx
mov edx, dword [esp + 0x10]
add edx, edi
add eax, edx
mov edi, dword [esp + 0x20]
shl ecx, 4
add ecx, edi
mov ecx, dword [ecx*4 + 0x601dac]
cmp ecx, 1
jne 0x4ac7d1
add eax, 0xc8
jmp 0x4ac7e7
cmp ecx, 2
jne 0x4ac7dd
add eax, 0xc9
jmp 0x4ac7e7
cmp ecx, 3
jne 0x4ac7e7
add eax, 0x191
mov eax, dword [esi + eax*4 + 0x4e5dc]
mov edx, dword [eax*4 + 0xe44eb0]
test dl, 0x30
jne 0x4ac909
movsx ecx, word [eax*2 + 0xee2700]
xor ebx, ebx
cmp ecx, ebx
jg 0x4ac895
test dh, 1
je 0x4ac855
xor ecx, ecx
mov edx, ebp
mov cl, byte [eax + 0xf6bd70]
mov edi, dword [ecx*4 + 0xce3590]
mov ecx, dword [esp + 0x38]
sub edx, edi
cmp edx, ecx
jle 0x4ac844
cmp dword [0x116fb28], ebx
jne 0x4ac844
cmp dword [0x116fb34], ebx
je 0x4ac8e7
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x1c], eax
jmp 0x4ac8e7
xor ecx, ecx
mov edx, ebp
mov cl, byte [eax + 0xf6bd70]
mov edi, dword [ecx*4 + 0xce3590]
mov ecx, dword [esp + 0x38]
sub edx, edi
cmp edx, ecx
jle 0x4ac880
cmp dword [0x116fb28], ebx
jne 0x4ac880
cmp dword [0x116fb34], ebx
je 0x4ac8e7
xor ecx, ecx
mov dword [esp + 0x14], 0xffffffff
mov cl, byte [eax + 0xf09b20]
mov dword [esi + 0x44], ecx
jmp 0x4ac8e7
cmp ecx, dword [esi + 0x18]
je 0x4ac8e7
cmp ecx, dword [esp + 0x14]
je 0x4ac8e7
cmp ecx, dword [esp + 0x24]
je 0x4ac8e7
xor edx, edx
mov edi, ebp
mov dx, word [eax*2 + 0xd321d0]
shl edx, 4
movsx edx, word [edx + 0x75c68a]
sub edi, edx
xor edx, edx
mov dl, byte [eax + 0xf6bd70]
mov eax, dword [edx*4 + 0xce3590]
sub edi, eax
mov eax, dword [esp + 0x38]
cmp edi, eax
jg 0x4ac8e3
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x18]
add eax, 2
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
inc eax
inc ebp
cmp eax, 0xff
mov dword [esp + 0x28], eax
jl 0x4ac6c9
jmp 0x4ac90b
xor ebx, ebx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x50], ebx
cmp edx, 0xffffffff
je 0x4ac948
lea eax, [edx + edx*4]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, edx
shl eax, 3
mov cx, word [eax + 0x143b7fa]
cmp cx, 0x13
je 0x4ac937
cmp cx, 0xb
jne 0x4ac956
cmp word [eax + 0x143b7c6], bx
je 0x4ac956
mov dword [esi + 0x1c], edx
mov dword [esi + 0x24], ebx
jmp 0x4ac956
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jl 0x4ac956
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x44]
cmp eax, ebx
je 0x4ac9a9
lea ecx, [eax - 0x4f]
cmp ecx, 0xa
ja case.0x4ac96d.84
xor edx, edx
mov dl, byte [ecx + 0x4ac9dc]
jmp dword [edx*4 + 0x4ac9c4]
mov eax, 0x4a
jmp case.0x4ac96d.84
mov eax, 0x4b
jmp case.0x4ac96d.84
mov eax, 0x4c
jmp case.0x4ac96d.84
mov eax, 0x4d
jmp case.0x4ac96d.84
mov eax, 0x4e
push 0xffffffffffffffff
push 0x28
push ebx
push eax
push 0x4e
push 5
mov ecx, 0xc75790
call fcn.004b16e0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push eax
push ecx
mov ecx, esi
call fcn.004acbb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 8