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

Disassembly:
push 0xffffffffffffffff
push 0x4a9ab3
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ecba0]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0046d74a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4174e3
push 0x80004005
call fcn.00402240
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x78], 0
call fcn.0046d74a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x417515
push 0x80004005
call fcn.00402240
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 1
call fcn.004024f0
push 0x4b8133
lea ecx, [esp + 0x28]
call fcn.00404190
push fcn.004024d0
push fcn.00457390
push 0x12
push 4
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x8c], 2
call fcn.004902cb
push str.ASMedia_2464PD_MPTool_Ver_1__0__4__1b__1.0.0.9___1.0.0.7_
lea edx, [esp + 0x18]
push 0x4b8104
push edx
mov byte [esp + 0x84], 3
call fcn.00402d80
mov eax, dword [esp + 0x20]
mov ecx, dword [0x4ee1d0]
add esp, 0xc
push eax
call fcn.004703e7
mov ecx, dword [0x4f04c8]
push ecx
lea ecx, [esi + 0xfb5c]
call fcn.004703e7
mov edx, dword [0x4f04cc]
push edx
lea ecx, [esi + 0x10080]
call fcn.004703e7
cmp byte [esi + 0x148], 1
lea edi, [esi + 0x105a4]
push 0
mov ecx, edi
jne 0x4175da
push 0xa4
call fcn.00463170
push 1
push str.Lock
jmp 0x4175eb
push 0xa5
call fcn.00463170
push 1
push str.Unlock
mov ecx, edi
call fcn.00462da0
mov eax, dword [0x4f04dc]
lea edi, [esi + 0x10fec]
push eax
mov ecx, edi
call fcn.004703e7
mov ecx, dword [0x4f04e0]
lea ebp, [esi + 0x11510]
push ecx
mov ecx, ebp
call fcn.004703e7
mov edx, dword [0x4f04dc]
push edx
mov ecx, edi
call fcn.004703e7
mov eax, dword [0x4f04e0]
push eax
mov ecx, ebp
call fcn.004703e7
mov ecx, dword [0x4f04e4]
push ecx
lea ecx, [esi + 0x11adc]
call fcn.004703e7
mov edx, dword [0x4f04e8]
push edx
lea ecx, [esi + 0x11b30]
call fcn.004703e7
mov eax, dword [0x4f04ec]
push eax
lea ecx, [esi + 0x11b84]
call fcn.004703e7
mov ecx, dword [0x4f04f0]
push ecx
lea ecx, [esi + 0x11bd8]
call fcn.004703e7
mov edx, dword [0x4f04f4]
push edx
lea ecx, [esi + 0x11c2c]
call fcn.004703e7
mov eax, dword [0x4f04f8]
push eax
lea ecx, [esi + 0x11c80]
call fcn.004703e7
mov ecx, dword [0x4f04fc]
push ecx
lea ecx, [esi + 0x11cd4]
call fcn.004703e7
mov edx, dword [0x4f0500]
push edx
lea ecx, [esi + 0x11d28]
call fcn.004703e7
mov eax, dword [0x4f0504]
push eax
lea ecx, [esi + 0x11d7c]
call fcn.004703e7
mov ecx, dword [esi + 0x12090]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x303
push ecx
call edi
mov edx, dword [esi + 0x120e4]
push 0
push 0
push 0x303
push edx
call edi
mov eax, dword [0x4f0640]
mov ecx, dword [esi + 0x12090]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0644]
mov eax, dword [esi + 0x12090]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1218c]
push 0
push 0
push 0x303
push ecx
call edi
mov edx, dword [0x4f050c]
mov eax, dword [esi + 0x1218c]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f0510]
mov edx, dword [esi + 0x1218c]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f0514]
mov ecx, dword [esi + 0x1218c]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0518]
mov eax, dword [esi + 0x1218c]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f051c]
mov edx, dword [esi + 0x1218c]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [esi + 0x121e0]
push 0
push 0
push 0x303
push eax
call edi
mov ecx, dword [0x4f050c]
mov edx, dword [esi + 0x121e0]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f0510]
mov ecx, dword [esi + 0x121e0]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0514]
mov eax, dword [esi + 0x121e0]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f06e8]
mov edx, dword [esi + 0x121e0]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f06ec]
push eax
push 0
push 0x143
mov ecx, dword [esi + 0x121e0]
push ecx
call edi
mov edx, dword [0x4f06f0]
mov eax, dword [esi + 0x121e0]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x12234]
push 0
push 0
push 0x303
push ecx
call edi
mov edx, dword [0x4f0728]
mov eax, dword [esi + 0x12234]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f072c]
mov edx, dword [esi + 0x12234]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f0730]
mov ecx, dword [esi + 0x12234]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0734]
mov eax, dword [esi + 0x12234]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f062c]
mov edx, dword [esi + 0x120e4]
push ecx
push 0
push 0x14a
push edx
call edi
mov eax, dword [0x4f0630]
mov ecx, dword [esi + 0x120e4]
push eax
push 1
push 0x14a
push ecx
call edi
mov edx, dword [esi + 0x12138]
push 0
push 0
push 0x303
push edx
call edi
mov eax, dword [0x4f054c]
mov ecx, dword [esi + 0x12138]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0520]
mov eax, dword [esi + 0x12138]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f0524]
push ecx
push 0
mov edx, dword [esi + 0x12138]
push 0x143
push edx
call edi
mov eax, dword [0x4f0528]
mov ecx, dword [esi + 0x12138]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f052c]
mov eax, dword [esi + 0x12138]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f0530]
mov edx, dword [esi + 0x12138]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f0534]
mov ecx, dword [esi + 0x12138]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0538]
mov eax, dword [esi + 0x12138]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f053c]
mov edx, dword [esi + 0x12138]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f0540]
mov ecx, dword [esi + 0x12138]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0544]
mov eax, dword [esi + 0x12138]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f0548]
mov edx, dword [esi + 0x12138]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f0558]
push eax
lea ecx, [esi + 0x12268]
call fcn.004703e7
mov ecx, dword [0x4f055c]
push ecx
lea ecx, [esi + 0x12364]
call fcn.004703e7
mov edx, dword [0x4f0560]
push edx
lea ecx, [esi + 0x12888]
call fcn.004703e7
mov eax, dword [0x4f0564]
push eax
lea ecx, [esi + 0x12dac]
call fcn.004703e7
mov ecx, dword [0x4f0568]
push ecx
lea ecx, [esi + 0x132d0]
call fcn.004703e7
mov edx, dword [0x4f056c]
push edx
lea ecx, [esi + 0x178e4]
call fcn.004703e7
mov eax, dword [0x4f0570]
push eax
lea ecx, [esi + 0x13d18]
call fcn.004703e7
mov ecx, dword [0x4f0574]
push ecx
lea ecx, [esi + 0x1423c]
call fcn.004703e7
mov edx, dword [0x4f0578]
push edx
lea ecx, [esi + 0x14760]
call fcn.004703e7
mov eax, dword [0x4f057c]
push eax
lea ecx, [esi + 0x12310]
call fcn.004703e7
mov ecx, dword [0x4f0580]
push ecx
lea ecx, [esi + 0x122bc]
call fcn.004703e7
mov edx, dword [esi + 0x151c8]
push 0
push 0
push 0x303
push edx
call edi
mov eax, dword [esi + 0x151c8]
push 0
push 0
push 0x303
push eax
call edi
mov ecx, dword [0x4f064c]
mov edx, dword [esi + 0x151c8]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f0650]
mov ecx, dword [esi + 0x151c8]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0654]
mov eax, dword [esi + 0x151c8]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x17e7c]
push 0
push 0
push 0x303
push ecx
call edi
mov edx, dword [0x4f0658]
mov eax, dword [esi + 0x17e7c]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f065c]
mov edx, dword [esi + 0x17e7c]
push ecx
push 0
push 0x143
push edx
call edi
mov eax, dword [0x4f0660]
mov ecx, dword [esi + 0x17e7c]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f06d8]
push edx
lea ecx, [esi + 0x86e4]
call fcn.004703e7
mov eax, dword [0x4f070c]
push eax
lea ecx, [esi + 0x8738]
call fcn.004703e7
mov ecx, dword [0x4f06dc]
push ecx
lea ecx, [esi + 0x878c]
call fcn.004703e7
mov edx, dword [0x4f06e0]
push edx
lea ecx, [esi + 0x87e0]
call fcn.004703e7
mov eax, dword [0x4f06e4]
push eax
lea ecx, [esi + 0x8834]
call fcn.004703e7
mov ecx, dword [0x4f06f4]
push ecx
lea ecx, [esi + 0x8888]
call fcn.004703e7
mov edx, dword [0x4f06f8]
push edx
lea ecx, [esi + 0x88dc]
call fcn.004703e7
mov eax, dword [0x4f06fc]
push eax
lea ecx, [esi + 0x8930]
call fcn.004703e7
mov ecx, dword [0x4f0700]
push ecx
lea ecx, [esi + 0x8984]
call fcn.004703e7
mov edx, dword [0x4f0704]
push edx
lea ecx, [esi + 0x89d8]
call fcn.004703e7
mov eax, dword [0x4f0708]
push eax
lea ecx, [esi + 0x8a2c]
call fcn.004703e7
mov ecx, dword [0x4f0710]
push ecx
lea ecx, [esi + 0x8a80]
call fcn.004703e7
mov edx, dword [0x4f0714]
push edx
lea ecx, [esi + 0x8ad4]
call fcn.004703e7
mov eax, dword [0x4f0718]
push eax
lea ecx, [esi + 0x8b28]
call fcn.004703e7
mov ecx, dword [0x4f071c]
push ecx
lea ecx, [esi + 0x8b7c]
call fcn.004703e7
mov edx, dword [0x4f0720]
push edx
lea ecx, [esi + 0x8bd0]
call fcn.004703e7
mov eax, dword [0x4f0724]
push eax
lea ecx, [esi + 0x8c24]
call fcn.004703e7
push 0x4b8133
lea ecx, [esp + 0x1c]
call fcn.00404190
mov ecx, dword [esi + 0x1b3dc]
push 0
push 0
push 0x303
push ecx
mov byte [esp + 0x88], 4
call edi
xor eax, eax
lea ebx, [ebx]
lea ebp, [eax + 1]
push ebp
lea edx, [esp + 0x1c]
push 0x4ba0ac
push edx
call fcn.00402d80
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x1b3dc]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
mov eax, ebp
cmp eax, 0x10
jl 0x417ce0
mov edx, dword [esi + 0x178a8]
push 0
push 0
push 0x303
push edx
call edi
mov eax, dword [0x4f0664]
mov ecx, dword [esi + 0x178a8]
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [0x4f0668]
mov eax, dword [esi + 0x178a8]
push edx
push 0
push 0x143
push eax
call edi
mov ecx, dword [0x4f0588]
push ecx
lea ecx, [esi + 0x152a4]
call fcn.004703e7
mov edx, dword [0x4f060c]
push edx
lea ecx, [esi + 0x15910]
call fcn.004703e7
mov eax, dword [0x4f0610]
push eax
lea ecx, [esi + 0x15e34]
call fcn.004703e7
mov ecx, dword [0x4f0614]
push ecx
lea ecx, [esi + 0x16358]
call fcn.004703e7
mov edx, dword [0x4f0618]
push edx
lea ecx, [esi + 0x1687c]
call fcn.004703e7
mov eax, dword [0x4f061c]
push eax
lea ecx, [esi + 0x168d0]
call fcn.004703e7
mov ecx, dword [0x4f0620]
push ecx
lea ecx, [esi + 0x16924]
call fcn.004703e7
mov edx, dword [0x4f0624]
push edx
lea ecx, [esi + 0x16a74]
call fcn.004703e7
mov eax, dword [0x4f0628]
push eax
lea ecx, [esi + 0x16b50]
call fcn.004703e7
push 0x4f058c
lea ecx, [esp + 0x28]
call fcn.0040bbf0
push 0x4f0590
lea ecx, [esp + 0x2c]
call fcn.0040bbf0
push 0x4f0594
lea ecx, [esp + 0x30]
call fcn.0040bbf0
push 0x4f0598
lea ecx, [esp + 0x34]
call fcn.0040bbf0
push 0x4f059c
lea ecx, [esp + 0x38]
call fcn.0040bbf0
push 0x4f05a0
lea ecx, [esp + 0x3c]
call fcn.0040bbf0
push 0x4f05a4
lea ecx, [esp + 0x48]
call fcn.0040bbf0
push 0x4f05ac
lea ecx, [esp + 0x4c]
call fcn.0040bbf0
push 0x4f05b0
lea ecx, [esp + 0x50]
call fcn.0040bbf0
push 0x4f05b4
lea ecx, [esp + 0x54]
call fcn.0040bbf0
push 0x4f05bc
lea ecx, [esp + 0x58]
call fcn.0040bbf0
push 0x4f05c0
lea ecx, [esp + 0x5c]
call fcn.0040bbf0
push 0x4f05e0
lea ecx, [esp + 0x40]
call fcn.0040bbf0
push 0x4f05ec
lea ecx, [esp + 0x44]
call fcn.0040bbf0
push 0x4f05e8
lea ecx, [esp + 0x60]
call fcn.0040bbf0
mov edi, 0x4e93f4
lea ebx, [esp + 0x24]
jmp 0x417ed0
mov ecx, dword [ebx]
mov esi, dword [edi]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x417f28
cmp dword [esi + 0xc], 0
lea ebp, [esi + 0xc]
jl 0x417f1c
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x417f1c
push eax
call fcn.00409450
mov dword [esp + 0x20], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebp], eax
dec eax
test eax, eax
jg 0x417f11
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [esp + 0x1c]
add ecx, 0x10
mov dword [edi], ecx
jmp 0x417f28
mov eax, dword [ecx - 0xc]
push eax
push ecx
mov ecx, edi
call fcn.00402b20
add edi, 8
add ebx, 4
cmp edi, 0x4e948c
jl 0x417ed0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x78], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x417f5b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push fcn.004024d0
push 0x13
push 4
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0x88], 1
call fcn.0048ef13
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x78], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x417f9b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x78], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417fc3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret