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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
push esi
push edi
mov edi, ecx
mov edx, dword [edi + 0x10]
mov dword [esp + 0x10], edi
test edx, edx
je 0x60dc30
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x60dc30
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x60dc30
cmp byte [edi + 0x40], 0
jne 0x60dc30
mov esi, dword [ebx + 4]
and esi, 0x10
je 0x60dd5e
test byte [edi + 4], 0x10
jne 0x60dd5e
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [esi + 8]
sub ecx, dword [eax]
sub edx, dword [esi]
cmp edx, ecx
jne 0x60dd50
mov ecx, dword [eax + 0xc]
mov edx, dword [esi + 0xc]
sub ecx, dword [eax + 4]
sub edx, dword [esi + 4]
cmp edx, ecx
jne 0x60dd50
mov eax, dword [ebx]
mov eax, dword [eax + 0x2c]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edx
mov ecx, ebx
call eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x38]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x14c]
mov edx, dword [eax]
mov edx, dword [edx + 0x90]
push 0
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [edi + 0x18]
push 2
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x34]
push ecx
push eax
call edx
test eax, eax
jl 0x60dc30
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x14c]
mov ebx, dword [ebx + 0x10]
mov ecx, dword [eax]
push edx
push ebx
push eax
mov eax, dword [ecx + 0x80]
call eax
test eax, eax
jl 0x60dc30
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push 0
push edx
lea edx, [esp + 0x38]
push edx
push eax
mov eax, dword [ecx + 0x34]
call eax
test eax, eax
jl 0x60dc24
mov eax, dword [edi + 0x10]
mov ecx, dword [eax]
push 0
push esi
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [ecx + 0x34]
call eax
test eax, eax
jge 0x60dc3e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x38]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x8876086c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [edi + 0x18]
cmp eax, 0x16
jne 0x60dcb6
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, dword [esi + 4]
sub edx, dword [esi]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x24], edx
test eax, eax
jle 0x60dd1e
mov dword [esp + 0x18], eax
jmp 0x60dc74
mov edx, dword [esp + 0x24]
test edx, edx
jle 0x60dc8d
mov ecx, ebx
mov eax, edi
sub ecx, edi
mov edi, edi
mov esi, dword [ecx + eax]
mov dword [eax], esi
add eax, 4
sub edx, 1
jne 0x60dc80
mov eax, dword [esp + 0x28]
cdq
and edx, 3
add eax, edx
sar eax, 2
lea edi, [edi + eax*4]
mov eax, dword [esp + 0x30]
cdq
and edx, 3
add eax, edx
sar eax, 2
sub dword [esp + 0x18], 1
lea ebx, [ebx + eax*4]
jne 0x60dc70
jmp 0x60dd1e
cmp eax, 0x17
jne 0x60dd22
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, dword [esi + 4]
sub edx, dword [esi]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x24], edx
test eax, eax
jle 0x60dd1e
mov dword [esp + 0x18], eax
jmp 0x60dce4
mov edx, dword [esp + 0x24]
test edx, edx
jle 0x60dcff
mov ecx, ebx
mov eax, edi
sub ecx, edi
mov edi, edi
mov si, word [ecx + eax]
mov word [eax], si
add eax, 2
sub edx, 1
jne 0x60dcf0
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
sar eax, 1
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x30]
cdq
sub eax, edx
sar eax, 1
sub dword [esp + 0x18], 1
lea ebx, [ebx + eax*2]
jne 0x60dce0
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x10]
mov eax, dword [edi]
mov ecx, dword [eax + 0x38]
push edi
call ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x38]
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, 0x80070057
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [edi + 4]
and eax, 0x10
je 0x60ddd0
test esi, esi
jne 0x60ddd0
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ebx, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
sub ebx, eax
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
cmp ebx, eax
jne 0x60dc30
mov eax, dword [esi + 4]
mov ebx, dword [ecx + 0xc]
mov esi, dword [esi + 0xc]
sub ebx, dword [ecx + 4]
sub esi, eax
cmp esi, ebx
jne 0x60dc30
mov esi, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0xc]
lea edi, [esp + 0x30]
push edi
push edx
push ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x3c], esi
mov eax, dword [eax + 0x14c]
mov esi, dword [eax]
mov edx, dword [esi + 0x78]
push ecx
push eax
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
test eax, eax
jne 0x60df56
test esi, esi
jne 0x60df56
mov eax, dword [edx]
lea ecx, [esp + 0x58]
push ecx
push edx
mov edx, dword [eax + 0x30]
call edx
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x38]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
push esi
push edx
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [ecx + 0x34]
call eax
test eax, eax
jl 0x60dc30
mov eax, dword [edi + 0x10]
mov ecx, dword [eax]
push esi
mov esi, dword [ebp + 8]
push esi
lea edx, [esp + 0x38]
push edx
push eax
mov eax, dword [ecx + 0x34]
call eax
test eax, eax
jge 0x60de4c
mov ebx, dword [ebx + 0x10]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x38]
push ebx
call edx
mov eax, 0x8876086c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [esp + 0x38]
cmp eax, 0x16
jne 0x60dec6
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, dword [esi + 4]
sub edx, dword [esi]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x24], edx
test eax, eax
jle 0x60df2e
mov dword [esp + 0x18], eax
jmp 0x60de84
mov edx, dword [esp + 0x24]
test edx, edx
jle 0x60de9d
mov ecx, ebx
mov eax, edi
sub ecx, edi
mov edi, edi
mov esi, dword [ecx + eax]
mov dword [eax], esi
add eax, 4
sub edx, 1
jne 0x60de90
mov eax, dword [esp + 0x30]
cdq
and edx, 3
add eax, edx
sar eax, 2
lea edi, [edi + eax*4]
mov eax, dword [esp + 0x28]
cdq
and edx, 3
add eax, edx
sar eax, 2
sub dword [esp + 0x18], 1
lea ebx, [ebx + eax*4]
jne 0x60de80
jmp 0x60df2e
cmp eax, 0x17
jne 0x60df35
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, dword [esi + 4]
sub edx, dword [esi]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x24], edx
test eax, eax
jle 0x60df2e
mov dword [esp + 0x18], eax
jmp 0x60def4
mov edx, dword [esp + 0x24]
test edx, edx
jle 0x60df0f
mov ecx, ebx
mov eax, edi
sub ecx, edi
mov edi, edi
mov si, word [ecx + eax]
mov word [eax], si
add eax, 2
sub edx, 1
jne 0x60df00
mov eax, dword [esp + 0x30]
cdq
sub eax, edx
sar eax, 1
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
sar eax, 1
sub dword [esp + 0x18], 1
lea ebx, [ebx + eax*2]
jne 0x60def0
mov ebx, dword [ebp + 0xc]
mov edi, dword [esp + 0x10]
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x38]
push ebx
call ecx
mov edi, dword [edi + 0x10]
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
push edi
call eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp byte [ebx + 0x40], 0
je 0x60dfb1
mov edx, dword [ecx]
lea eax, [esp + 0x18]
push eax
push 0
push ecx
mov ecx, dword [edx + 0x48]
call ecx
mov esi, eax
test esi, esi
jl 0x60dfa6
mov ecx, dword [edi + 0x10]
mov esi, dword [ebp + 8]
mov edx, dword [edi + 0xc]
mov eax, dword [edx + 0x14c]
mov edx, dword [eax]
mov edx, dword [edx + 0x88]
push 0
push esi
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push eax
call edx
mov esi, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [edi + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 0x14c]
mov esi, dword [eax]
push 0
push edi
push edx
mov edx, dword [ebp + 0x10]
push edx
push ecx
push eax
mov eax, dword [esi + 0x88]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14