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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x180
mov edi, dword [ebp + 8]
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x158], 0
push ecx
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
mov eax, 0
jne 0x728b6b
mov dword [esp + 8], eax
mov edx, edi
pcmpeqd xmm2, xmm2
movzx eax, byte [ebx + 4]
lea eax, [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov eax, dword [ebx + 0x10]
cmp esi, eax
sbb edx, ecx
cmovb esi, eax
cmovb edi, ecx
lea eax, [ebx + 0x18]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], eax
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0x1c]
mov edi, dword [esp + 0x54]
test ecx, ecx
je 0x7283dd
mov eax, dword [ecx]
lea edx, [eax + 4]
test eax, eax
mov dword [ebx + 0x1c], eax
cmove edx, dword [esp + 0x30]
mov dword [edx], 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
movq xmm0, qword [ecx + 0x18]
movd eax, xmm0
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
and edx, eax
cmp edx, 0xffffffff
je 0x728343
mov byte [ecx + 0x2c], 0
movq qword [ecx + 0x18], xmm2
mov eax, dword [ecx + 0x28]
nop dword [eax]
mov edx, eax
or edx, 2
lock cmpxchg dword [ecx + 0x28], edx
jne 0x7283a0
test eax, eax
jne 0x728343
mov esi, dword [ecx + 0x20]
mov edi, dword [ecx + 0x24]
mov dword [ecx + 0x20], 0
lock and dword [ecx + 0x28], 0xfffffffd
test esi, esi
je 0x728343
jmp 0x7286d3
mov ecx, dword [ebx + 0x1c]
mov edi, edx
test ecx, ecx
jne 0x728352
mov edx, dword [esp]
lea ecx, [esp + 0x160]
call fcn.00727bb0
mov eax, dword [esp + 0x160]
or eax, dword [esp + 0x164]
je 0x72879c
mov esi, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov eax, edi
cmp dword [esp + 0x50], esi
sbb eax, ecx
jb 0x72879c
mov dword [esp + 0x34], ecx
mov edx, dword [ebx + 0x28]
mov ecx, dword [esp + 0x170]
cmp ecx, edx
jae 0x728b8d
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x174]
mov edx, dword [ebx + 0x24]
mov ebx, 1
xor edi, edi
mov eax, 1
shld edi, eax, cl
shl ebx, cl
test cl, 0x20
mov eax, 0
cmovne edi, ebx
cmovne ebx, eax
imul eax, dword [esp + 4], 0x210
not ebx
not edi
and dword [edx + eax + 0x200], ebx
and dword [edx + eax + 0x204], edi
cmp ecx, 0x40
jae 0x728b97
add edx, eax
mov edi, dword [edx + ecx*8 + 4]
mov dword [edx + ecx*8], 0
mov dword [edx + ecx*8 + 4], 0
test edi, edi
je 0x728690
pcmpeqd xmm2, xmm2
jmp 0x7284f1
xor edx, edx
mov ecx, eax
mov edi, 1
mov ebx, dword [esp + 4]
shld edx, edi, cl
shl edi, cl
mov ecx, dword [esp + 0x58]
test al, 0x20
mov eax, 0
cmovne edx, edi
cmovne edi, eax
or dword [ebx + ecx + 0x200], edi
or dword [ebx + ecx + 0x204], edx
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x728680
mov eax, dword [edi]
test eax, eax
je 0x7284fe
mov dword [eax + 4], 0
mov dword [edi], 0
mov dword [esp + 0x5c], eax
mov dword [edi + 4], 0
movq xmm0, qword [edi + 0x18]
movd eax, xmm0
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0xfffffffe
mov ecx, edx
sbb ecx, 0xffffffff
jae 0x728ba6
mov ecx, dword [esp + 0x34]
cmp esi, eax
sbb ecx, edx
jb 0x7285a0
mov ecx, 0xffffffff
mov ebx, 0xfffffffe
lock cmpxchg8b qword [edi + 0x18]
jne 0x728530
movq qword [edi + 8], xmm2
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
cmp eax, edi
je 0x728bf5
test eax, eax
mov dword [edi + 4], eax
mov dword [edi], 0
je 0x72857f
mov dword [eax], edi
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x18], edi
cmp dword [ebx + 0x1c], 0
jne 0x7284e5
mov dword [ebx + 0x1c], edi
jmp 0x7284e5
movd xmm1, edx
xor edx, dword [esp + 0x34]
movd xmm0, eax
xor eax, esi
or eax, 0x3f
punpckldq xmm0, xmm1
cmp eax, 0xfffffffe
movq qword [edi + 8], xmm0
mov ecx, edx
sbb ecx, 0xf
mov ecx, 0xfffffffe
cmovae eax, ecx
mov ecx, 0xf
cmovae edx, ecx
bsr eax, eax
xor eax, 0x1f
bsr ecx, edx
or al, 0x20
xor ecx, 0x1f
test edx, edx
movzx eax, al
cmovne eax, ecx
xor al, 0x3e
movzx eax, al
imul ecx, eax, 0x2b
mov eax, dword [esp + 0xc]
shr ecx, 8
mov edx, dword [eax + 0x28]
cmp edx, ecx
jbe 0x728b61
mov eax, dword [eax + 0x24]
imul ebx, ecx, 0x210
mov dword [esp + 4], eax
movq xmm0, qword [edi + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x58], ebx
mov ecx, dword [ecx + ebx + 0x208]
movd edx, xmm0
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x38], edi
movd eax, xmm0
add ecx, ecx
lea ecx, [ecx + ecx*2]
shrd edx, eax, cl
shr eax, cl
test cl, 0x20
mov ecx, dword [esp + 4]
cmove eax, edx
mov edx, eax
and edx, 0x3f
add ecx, ebx
mov ebx, dword [ecx + edx*8]
cmp ebx, edi
je 0x728bdc
test ebx, ebx
mov dword [edi + 4], ebx
mov dword [edi], 0
je 0x728669
mov dword [ebx], edi
mov dword [ecx + edx*8], edi
cmp dword [ecx + edx*8 + 4], 0
jne 0x7284b0
mov dword [ecx + edx*8 + 4], edi
jmp 0x7284b0
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x16c]
jmp 0x72869c
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x34]
pcmpeqd xmm2, xmm2
mov ecx, dword [esp]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], esi
mov edx, edi
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
cmp esi, ecx
sbb edx, eax
mov edx, dword [esp + 0x54]
jb 0x728c19
cmp ecx, esi
sbb eax, edi
jae 0x7283d0
mov eax, dword [esp]
mov dword [eax], esi
mov dword [eax + 4], edi
jmp 0x7283d0
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x1f
ja 0x728c6e
mov eax, dword [esp + ecx*8 + 0x60]
test eax, eax
je 0x7286fa
push dword [esp + ecx*8 + 0x64]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x30]
pcmpeqd xmm2, xmm2
add esp, 4
mov dword [esp + ecx*8 + 0x60], esi
mov dword [esp + ecx*8 + 0x64], edi
inc ecx
cmp ecx, 0x20
jne 0x72833f
cmp byte [esp + 8], 0
jne 0x72871f
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
jne 0x72878d
push ebx
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov esi, 0xffffff00
mov eax, dword [esp + esi + 0x160]
mov ecx, dword [esp + esi + 0x164]
mov dword [esp + esi + 0x160], 0
test eax, eax
je 0x728c8c
push ecx
call dword [eax + 4]
add esp, 4
add esi, 8
jne 0x72872b
push ebx
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
jne 0x728780
mov dword [esp + 8], 0
movzx eax, byte [ebx + 4]
pcmpeqd xmm2, xmm2
jmp 0x72833d
call fcn.007d1b30
xor al, 1
mov dword [esp + 8], eax
jmp 0x728773
call fcn.007d1b30
test al, al
jne 0x72871f
mov byte [ebx + 4], 1
jmp 0x72871f
mov esi, dword [esp + 0x50]
mov dword [esp + 0x4c], edi
mov edx, edi
mov dword [esp + 0x48], esi
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
cmp esi, ecx
sbb edx, eax
jb 0x728c19
cmp ecx, esi
sbb eax, edi
jae 0x7287c8
mov eax, dword [esp]
mov dword [eax], esi
mov dword [eax + 4], edi
mov edx, dword [esp]
lea ecx, [esp + 0x10]
call fcn.00727bb0
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
je 0x72880a
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, 1
cmp edx, 1
mov esi, edx
adc esi, 0
test eax, eax
cmovne ecx, edx
cmove ecx, esi
cmp byte [esp + 8], 0
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
jne 0x72882b
jmp 0x72881b
xor ecx, ecx
xor eax, eax
cmp byte [esp + 8], 0
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
jne 0x72882b
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
jne 0x728b77
push ebx
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x21
jae 0x728c7d
test ecx, ecx
je 0x728871
lea esi, [esp + ecx*8 + 0x60]
lea edi, [esp + 0x60]
nop dword [eax + eax]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [edi], 0
test eax, eax
je 0x728c0f
push ecx
call dword [eax + 4]
add esp, 4
add edi, 8
cmp edi, esi
jne 0x728850
mov eax, dword [esp + 0x60]
test eax, eax
je 0x728883
push dword [esp + 0x64]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x68]
test eax, eax
je 0x728895
push dword [esp + 0x6c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x70]
test eax, eax
je 0x7288a7
push dword [esp + 0x74]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x7288b9
push dword [esp + 0x7c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x80]
test eax, eax
je 0x7288d1
push dword [esp + 0x84]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x88]
test eax, eax
je 0x7288e9
push dword [esp + 0x8c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x90]
test eax, eax
je 0x728901
push dword [esp + 0x94]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x98]
test eax, eax
je 0x728919
push dword [esp + 0x9c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x728931
push dword [esp + 0xa4]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x728949
push dword [esp + 0xac]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x728961
push dword [esp + 0xb4]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x728979
push dword [esp + 0xbc]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x728991
push dword [esp + 0xc4]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x7289a9
push dword [esp + 0xcc]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x7289c1
push dword [esp + 0xd4]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x7289d9
push dword [esp + 0xdc]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x7289f1
push dword [esp + 0xe4]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x728a09
push dword [esp + 0xec]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x728a21
push dword [esp + 0xf4]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x728a39
push dword [esp + 0xfc]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x100]
test eax, eax
je 0x728a51
push dword [esp + 0x104]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x108]
test eax, eax
je 0x728a69
push dword [esp + 0x10c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x110]
test eax, eax
je 0x728a81
push dword [esp + 0x114]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x118]
test eax, eax
je 0x728a99
push dword [esp + 0x11c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x120]
test eax, eax
je 0x728ab1
push dword [esp + 0x124]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x128]
test eax, eax
je 0x728ac9
push dword [esp + 0x12c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x130]
test eax, eax
je 0x728ae1
push dword [esp + 0x134]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x138]
test eax, eax
je 0x728af9
push dword [esp + 0x13c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x140]
test eax, eax
je 0x728b11
push dword [esp + 0x144]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x148]
test eax, eax
je 0x728b29
push dword [esp + 0x14c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x150]
test eax, eax
je 0x728b41
push dword [esp + 0x154]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x158]
test eax, eax
je 0x728b59
push dword [esp + 0x15c]
call dword [eax + 0xc]
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x937aa4
call fcn.007c1be0
call fcn.007d1b30
xor al, 1
jmp 0x728306
call fcn.007d1b30
test al, al
jne 0x72882b
mov byte [ebx + 4], 1
jmp 0x72882b
push 0x937ae4
call fcn.007c1be0
mov edx, 0x40
push 0x9379f0
call fcn.007c1be0
lea ecx, [esp + 0x10]
mov edx, 0x93790c
mov dword [esp + 0x10], 0x937894
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0x93d1f8
mov dword [esp + 0x1c], 0
call fcn.007c1b50
lea eax, [esp + 0x10]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x10], 0
lea edx, [esp + 0x38]
push eax
call fcn.007d2e60
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0
lea edx, [esp + 0x38]
push eax
call fcn.007d2e60
mov ecx, 0x937bec
call fcn.007c1fe0
mov eax, dword [esp]
lea edx, [esp + 0x48]
lea ecx, [esp + 0x38]
mov dword [esp + 0x10], 0x937ac4
mov dword [esp + 0x14], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], 2
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0x5abfa0
mov dword [esp + 0x40], edx
mov edx, 0x937ad4
mov dword [esp + 0x44], 0x5abfa0
call fcn.007c1b50
mov edx, 0x20
push 0x937bbc
call fcn.007c1be0
mov edx, 0x20
push 0x937bdc
call fcn.007c1c40
mov ecx, 0x937bcc
call fcn.007c1fe0
int3