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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
mov esi, esp
mov dword [esi + 0xc], ecx
mov eax, dword [0x520014]
xor eax, ebp
mov dword [esi + 0xb8], eax
cmp dword [ebp + 8], 0
je 0x48314b
lea edi, [ebp + 8]
lea ecx, [edi + 0x18]
call fcn.00470330
cmp eax, 0x20
sbb edx, 0
setl al
movzx eax, al
mov dword [esi + 0x20], eax
cmp dword [edi + 0x30], 0
jne 0x482f68
xor edi, edi
dec edi
lea eax, [esi + 0x38]
mov dword [eax + 4], edi
mov dword [eax], edi
mov ebx, dword [esi + 0xc]
mov ecx, dword [ebx + 4]
push eax
call fcn.004818f0
lea edx, [esi + 0x30]
mov dword [edx], edi
mov dword [edx + 4], edi
mov ecx, dword [ebx + 0x60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
lea eax, [ebp + 8]
mov edi, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov eax, edi
xor ecx, ecx
inc ecx
add eax, ecx
mov ecx, edx
mov ebx, 0x80000000
adc ecx, ebx
cmp eax, 2
sbb ecx, 0
lea eax, [esi + 0x30]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jb 0x483111
add ecx, edi
adc eax, edx
seto dl
xor ebx, ebx
test eax, eax
setns bl
add ebx, 0x7fffffff
test dl, dl
cmove ebx, eax
mov dword [esi + 0x10], ebx
sar eax, 0x1f
test dl, dl
cmove eax, ecx
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 4]
call fcn.00481810
test al, al
je 0x482b97
movsd xmm0, qword [esi + 0x30]
lea eax, [ebp + 8]
movsd qword [eax + 0x28], xmm0
mov dword [esi + 0x2c], esp
sub esp, 0x64
mov ebx, esp
mov dword [esi + 0x18], esp
movq xmm0, qword [esi + 0x30]
movq qword [ebx + 0x58], xmm0
sub esp, 0x4c
mov edi, esp
xor eax, eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 0x3c], eax
mov eax, dword [esi + 0x38]
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x34], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x30], eax
mov ecx, edi
lea eax, [ebp + 8]
push eax
call fcn.004855b0
mov eax, dword [esi + 0x20]
mov dword [edi + 0x48], eax
mov ecx, ebx
call fcn.00485370
mov esp, dword [esi + 0x18]
mov byte [ebx + 0x60], 1
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 4]
push dword [eax]
push ebx
call fcn.00481840
xor eax, eax
cmp dword [ebx + 0x38], eax
mov dword [esi + 0x20], ebx
jne 0x482eb8
cmp byte [ebx + 0x46], 0
je 0x482c1b
mov eax, dword [esi + 0xc]
inc dword [eax + 0x80]
mov ebx, dword [esi + 0xc]
lea eax, [ebx + 0x70]
mov dword [esi + 0x10], eax
mov edi, dword [ebx + 0x74]
cmp edi, dword [ebx + 0x78]
jae 0x482f55
mov ecx, edi
push dword [esi + 0x20]
call fcn.00485460
add edi, 0x58
mov dword [ebx + 0x74], edi
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov eax, edi
mov dword [esi + 0x14], ecx
sub eax, ecx
cmp eax, 0x59
jl 0x482cfa
mov ecx, 0xba2e8ba3
mul ecx
shr edx, 6
lea eax, [edx - 2]
shr eax, 0x1f
add eax, edx
add eax, 0xfffffffe
sar eax, 1
mov dword [esi + 0x10], eax
imul ebx, eax, 0x58
add ebx, dword [esi + 0x14]
add edi, 0xffffffa8
mov ecx, ebx
push edi
call fcn.00487c10
test al, al
je 0x482cfa
lea ecx, [esi + 0x60]
xor eax, eax
dec eax
mov dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [ecx + 0x40], xmm0
movdqa xmmword [ecx + 0x30], xmm0
movdqa xmmword [ecx + 0x20], xmm0
movdqa xmmword [ecx + 0x10], xmm0
movdqa xmmword [ecx], xmm0
push edi
call fcn.00485460
mov ecx, edi
mov edi, ebx
push ebx
call fcn.004854d0
cmp dword [esi + 0x10], 0
je 0x482ce8
mov ecx, dword [esi + 0x10]
lea eax, [ecx - 1]
shr eax, 0x1f
add ecx, eax
dec ecx
sar ecx, 1
mov dword [esi + 0x10], ecx
imul ebx, ecx, 0x58
add ebx, dword [esi + 0x14]
mov ecx, ebx
lea eax, [esi + 0x60]
push eax
call fcn.00487c10
test al, al
jne 0x482cb2
mov ecx, edi
lea edi, [esi + 0x60]
push edi
call fcn.004854d0
mov ecx, edi
call fcn.004854a0
lea ecx, [esi + 0x40]
xor eax, eax
dec eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x10], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [ecx], xmm0
mov eax, dword [esi + 0x20]
push dword [eax + 0x5c]
push dword [eax + 0x58]
call fcn.00484f30
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 0x70]
mov al, 1
cmp ecx, dword [edx + 0x74]
je 0x482eb1
mov dword [esi + 0x18], 0
cmp byte [edx + 0xac], 0
je 0x483268
cmp dword [edx + 0x80], 0
je 0x482d5c
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x6c]
xor edx, edx
cmp byte [eax + 0x20], 5
setb dl
mov dword [esi + 0x18], edx
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0x40]
mov dword [esi + 0x1c], eax
mov bl, 1
xor eax, eax
mov ecx, dword [esi + 0xc]
mov cl, byte [ecx + 0xe8]
test cl, cl
setne dl
xor dl, bl
jne 0x482e8e
test cl, cl
je 0x482e8e
je 0x48326f
test bl, bl
je 0x483272
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xf0]
xor eax, dword [esi + 0x10]
mov ecx, dword [ecx + 0xf4]
xor ecx, dword [esi + 0x14]
or ecx, eax
je 0x482e69
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [edi + 0xf0], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0xf4], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0xf8], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0xfc], eax
cmp dword [edi + 0x64], 0
jne 0x48306a
mov ecx, dword [edi + 0x60]
mov byte [esi + 0x60], bl
mov eax, dword [esi + 0x14]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x74], eax
sub esp, 0x20
movsd xmm0, qword [esi + 0x70]
movsd qword [esp + 0x14], xmm0
movdqu xmm0, xmmword [esi + 0x60]
movdqu xmmword [esp + 4], xmm0
lea eax, [esi + 0x40]
mov dword [esp + 0x1c], eax
mov dword [esp], edi
call fcn.00483dc0
test byte [0x5227d0], 9
jne 0x48314e
mov ecx, dword [esi + 0x20]
call fcn.004854a0
mov esp, dword [esi + 0x2c]
lea ecx, [ebp + 8]
call fcn.00485430
mov ecx, dword [esi + 0xb8]
xor ecx, ebp
call fcn.0048a678
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x34
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x1c]
cmp ecx, dword [eax + 0xf8]
jne 0x482dbb
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x18]
cmp dword [eax + 0xfc], ecx
je 0x482e32
jmp 0x482dbb
test dl, dl
je 0x482e32
test al, al
je 0x4830c5
test cl, cl
mov edi, dword [esi + 0xc]
je 0x482dec
mov byte [edi + 0xe8], 0
jmp 0x482dec
xor ebx, ebx
jmp 0x482d72
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x108], 0
je 0x482c0c
test byte [0x522734], 9
je 0x482c0c
mov eax, dword [esi + 0xc]
cmp byte [eax + 0xac], 0
jne 0x482c0c
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x118], 0
je 0x482c0c
mov edi, dword [esi + 0xc]
mov ebx, dword [edi]
xor eax, eax
dec eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], eax
mov ecx, dword [edi + 0x60]
mov eax, dword [ecx]
lea edx, [esi + 0x40]
push edx
call dword [eax + 8]
cmp byte [edi + 0x108], 1
jne 0x4832f7
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0xc]
sub eax, dword [edx + 0x110]
mov ecx, dword [esi + 0x44]
sbb ecx, dword [edx + 0x114]
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], ecx
mov dword [esi + 0x40], ebx
mov eax, dword [esi + 0x20]
mov dword [esi + 0x58], eax
test byte [0x522734], 0x19
jne 0x4832d5
mov ebx, dword [esi + 0x20]
jmp 0x482c0c
mov ecx, dword [esi + 0x10]
push dword [esi + 0x20]
call fcn.00483c90
mov edi, dword [ebx + 0x74]
jmp 0x482c40
xor eax, eax
dec eax
lea edx, [esi + 0x60]
mov dword [edx + 4], eax
mov dword [edx], eax
mov edi, dword [esi + 0xc]
mov ecx, dword [edi + 4]
push edx
call fcn.004818f0
lea ebx, [edi + 0x10]
push ebx
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x4832a5
mov ecx, dword [edi + 0x18]
mov eax, dword [ecx]
lea edi, [esi + 0x40]
push edi
call dword [eax + 8]
mov eax, dword [edi]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 4]
mov dword [esi + 0x10], eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea eax, [ebp + 8]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x1c]
mov eax, edx
xor edi, edi
inc edi
add eax, edi
mov ecx, ebx
mov edi, 0x80000000
adc ecx, edi
cmp eax, 2
sbb ecx, 0
jb 0x483275
mov edi, dword [esi + 0x18]
add edx, edi
adc ebx, dword [esi + 0x10]
seto cl
xor eax, eax
test ebx, ebx
setns al
add eax, 0x7fffffff
test cl, cl
cmove eax, ebx
sar ebx, 0x1f
test cl, cl
cmovne edx, ebx
mov ebx, eax
mov dword [esi + 0x14], edx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 4]
call fcn.00481810
test al, al
jne 0x483100
mov dword [esi + 0x10], esp
sub esp, 0x58
mov dword [esi + 0x1c], esp
mov dword [esi + 0x18], esp
sub esp, 0x4c
mov edi, esp
xor eax, eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [esi + 0x64]
mov dword [edi + 0x3c], eax
mov eax, dword [esi + 0x60]
mov dword [edi + 0x38], eax
mov dword [edi + 0x34], ebx
mov eax, dword [esi + 0x14]
mov dword [edi + 0x30], eax
mov ecx, edi
lea eax, [ebp + 8]
push eax
call fcn.004855b0
mov eax, dword [esi + 0x20]
mov dword [edi + 0x48], eax
mov ecx, dword [esi + 0x1c]
call fcn.00485370
mov esp, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
call fcn.004616c0
mov esp, dword [esi + 0x10]
jmp 0x482e4a
mov eax, dword [edi + 0x68]
cmp dword [eax + 8], 0
jne 0x482dec
mov eax, dword [edi + 0x6c]
cmp dword [eax + 8], 0
jne 0x482dec
lea eax, [edi + 0x10]
mov dword [esi + 0x24], eax
push eax
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x4832bc
mov eax, dword [edi + 0x28]
mov dword [esi + 0x28], eax
push dword [esi + 0x24]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp dword [esi + 0x28], 0
jne 0x482dec
mov ecx, dword [edi + 0x64]
mov eax, dword [ecx]
push dword [esi + 0x14]
push dword [esi + 0x10]
call dword [eax + 4]
jmp 0x482dec
test cl, cl
jne 0x482dbb
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [edi + 0xf0], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0xf4], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0xf8], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0xfc], eax
mov byte [edi + 0xe8], 1
jmp 0x482de2
lea eax, [ebp + 8]
mov dword [eax + 0x28], edi
mov ecx, dword [esi + 0x10]
mov dword [eax + 0x2c], ecx
jmp 0x483010
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], edx
mov edx, ecx
xor edi, edi
inc edi
add edx, edi
mov ebx, 0x80000000
adc ebx, eax
mov dword [esi + 0x18], 0
xor edi, edi
inc edi
cmp edi, edx
sbb dword [esi + 0x18], ebx
jb 0x482b7b
xor ecx, dword [esi + 0x14]
xor eax, dword [esi + 0x10]
or eax, ecx
je 0x482b7b
int3
int3
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
mov edi, dword [eax + 4]
call fcn.00470b00
cmp edi, eax
jne 0x482e3f
mov eax, dword [esi + 0xc]
lea edi, [eax + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x4832c9
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x28]
mov dword [esi + 0x14], eax
mov eax, dword [edx + 0x68]
mov ecx, dword [edx + 0x6c]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x10], ecx
mov eax, dword [eax + 8]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x74]
mov dword [esi + 0x1c], eax
mov ebx, dword [edx + 0x70]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x5227d0], 0x19
je 0x482e3f
mov eax, dword [esi + 0x1c]
sub eax, ebx
mov ebx, dword [esi + 0x10]
add ebx, dword [esi + 0x14]
add ebx, dword [esi + 0x18]
sar eax, 3
imul eax, eax, 0xba2e8ba3
add ebx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
call fcn.00470b00
mov dword [esi + 0x10], eax
lea ecx, [esi + 0x58]
xor eax, eax
dec eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
push ecx
call fcn.00470f50
add esp, 4
pcmpeqd xmm0, xmm0
lea edi, [esi + 0x60]
movdqa xmmword [edi], xmm0
movdqa xmmword [edi + 0x10], xmm0
mov word [edi], 0x301
mov dword [edi + 4], str.value
mov eax, ebx
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov dword [edi + 0x10], ebx
sub esp, 0x30
lea eax, [esi + 0x58]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov eax, dword [esi + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5227d0
mov dword [esp], 0x43
call fcn.00474ee0
add esp, 0x30
mov ecx, edi
call fcn.00475ef0
jmp 0x482e3f
xor ebx, ebx
jmp 0x482d72
int3
int3
mov dword [esi + 0x14], edx
mov eax, dword [esi + 0x18]
xor edx, edx
inc edx
add eax, edx
adc edi, dword [esi + 0x10]
xor ecx, ecx
cmp edx, eax
sbb ecx, edi
jb 0x4832b1
mov edi, dword [esi + 0x18]
mov eax, edi
mov edx, dword [esi + 0x14]
xor eax, edx
mov ecx, dword [esi + 0x10]
xor ecx, ebx
or ecx, eax
je 0x482ffa
int3
mov ecx, ebx
call fcn.00470630
jmp 0x482f91
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
jmp 0x482ffa
mov ecx, dword [esi + 0x24]
call fcn.00470630
jmp 0x483099
mov ecx, edi
call fcn.00470630
jmp 0x483179
lea eax, [esi + 0x58]
lea ebx, [esi + 0x60]
mov ecx, str.task_posted_to_disabled_queue
xor edx, edx
push eax
push ebx
lea eax, [esi + 0x40]
push eax
push 0
call fcn.004f71f0
add esp, 0x10
jmp 0x482f4d
int3