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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13c
mov eax, dword [0x7753d344]
xor eax, esp
mov dword [esp + 0x138], eax
mov eax, dword fs:[0x30]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov eax, dword [eax + 0x1e8]
push edi
mov esi, dword [ebx + 8]
test eax, eax
je 0x774bf4f1
lea ecx, [eax + 0x5d8]
test ecx, ecx
je 0x774bf4f1
cmp dword [ecx + 0x30], 0
je 0x774bf4f1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x1e8]
test eax, eax
je 0x774bf4e8
add eax, 0x5d8
je 0x774bf4e8
cmp dword [eax + 0x30], 0
je 0x774bf4e8
mov edx, dword [eax]
mov eax, dword [eax + 4]
cmp edx, dword [esi]
jne 0x77479b55
cmp eax, dword [esi + 4]
jne 0x77479b55
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi + 8]
jne 0x77479b58
mov edi, dword [ebp + 0x14]
cmp edi, dword [esi + 0xc]
jae 0x77479b6e
mov eax, dword [ebx + 0x10]
push 0x80
push 0
mov ebx, dword [eax + edi*4 + 4]
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x40], ebx
call fcn.77498e60
xor eax, eax
add esp, 0xc
mov word [esp + 0x14], ax
mov word [esp + 0x18], ax
cmp dword [ebx + 0x18], eax
je 0x77479aee
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x1e8]
test eax, eax
je 0x77479aee
add eax, 0x5d8
je 0x77479aee
cmp dword [eax + 0x30], 0
lea ecx, [eax + 0x30]
mov dword [esp + 0x10], ecx
je 0x77479aee
cmp dword [eax + 0xc], 0
jne 0x774bf4ff
mov esi, dword [esi + edi*4 + 0x10]
lea eax, [esp + 0xc0]
push 0x80
push 0
push eax
call fcn.77498e60
xor eax, eax
mov dword [esp + 0x44], 0
add esp, 0xc
mov dword [esp + 0x3c], 0
mov word [esp + 0x1c], ax
mov word [esp + 0x28], ax
cmp dword [esi + 0x18], eax
je 0x77479b3b
lea ecx, [esp + 0x38]
call fcn.77479b80
test eax, eax
jne 0x774bf6c2
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.77494a40
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ecx + 0x18]
mov edx, ebx
push eax
mov ecx, esi
call fcn.77479be8
test eax, eax
jne 0x77479a7c
xor eax, eax
jmp 0x77479b3e
xor edx, edx
xor eax, eax
jmp 0x77479a5f
mov edx, ebx
mov ecx, esi
call fcn.77516bba
jmp 0x77479a7c
mov edx, dword [eax + 0x14]
lea ecx, [eax + 0x10]
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
or eax, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jne 0x774bf5a2
lea eax, [esp + 0x20]
push eax
push 0
push 0
push 0x77426adc
call fcn.77472510
test eax, eax
jne 0x77479aee
xor edx, edx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
lock cmpxchg8b qword [edi]
mov edi, dword [ebp + 0x14]
mov ecx, edx
mov dword [esp + 0x30], eax
or eax, ecx
mov dword [esp + 0x2c], ecx
je 0x774bf56a
push 0
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.77478380
jmp 0x774bf59e
mov eax, dword [esp + 0x20]
xor edx, edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x10]
push dword [eax + 0x3c]
movzx eax, word [eax + 0x38]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.7751686b
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov eax, edx
or eax, dword [esp + 0x2c]
je 0x77479aee
mov ecx, dword [ebx]
lea eax, [ebx + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x10
lea eax, [ecx + 2]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x774bf5da
sub ecx, dword [esp + 0x10]
sar ecx, 1
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
mov dword [esp + 0x5c], 0
lea eax, [ecx*2 + 2]
mov dword [esp + 0x64], 0
lea ecx, [esp + 0x14]
mov word [esp + 0x14], ax
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x60], ecx
mov ecx, ebx
movzx eax, ax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x774bf640
sub ecx, dword [esp + 0x10]
sar ecx, 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 2
mov dword [esp + 0x7c], 0
lea eax, [ecx*2 + 2]
mov dword [esp + 0x80], ebx
mov word [esp + 0x18], ax
lea ecx, [esp + 0x18]
movzx eax, ax
mov dword [esp + 0x88], eax
lea eax, [esp + 0x40]
push eax
push 5
push 0x77426b00
push dword [esp + 0x38]
mov dword [esp + 0x80], ecx
push edx
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
call fcn.7747fef0
jmp 0x77479aee
mov edx, dword [esp + 0x38]
mov eax, edx
mov edi, dword [esp + 0x3c]
or eax, edi
je 0x77479b3b
mov ebx, dword [esi]
lea eax, [esi + 0x60]
mov ecx, ebx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0x10
mov dword [esp + 0xcc], 0
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x774bf70a
sub ecx, dword [esp + 0x10]
sar ecx, 1
mov dword [esp + 0xe0], ebx
mov ebx, dword [esi + 0xc]
mov dword [esp + 0xd4], 0
lea eax, [ecx*2 + 2]
mov dword [esp + 0xd8], 2
lea ecx, [esp + 0x1c]
mov word [esp + 0x1c], ax
mov dword [esp + 0xd0], ecx
mov ecx, ebx
movzx eax, ax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xdc], 0
lea eax, [ecx + 2]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x774bf786
sub ecx, dword [esp + 0x10]
sar ecx, 1
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 2
mov dword [esp + 0xfc], 0
lea eax, [ecx*2 + 2]
mov dword [esp + 0x100], ebx
mov word [esp + 0x28], ax
lea ecx, [esp + 0x28]
movzx eax, ax
mov dword [esp + 0x108], eax
lea eax, [esp + 0xc0]
push eax
push 5
push 0x77426b10
push edi
push edx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x118], 0
mov dword [esp + 0x120], 0
call fcn.7747fef0
jmp 0x77479b3b