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

Disassembly:
sub esp, 0xbc
mov eax, dword [0x781c62c]
mov dword [esp + 0xb8], eax
xor eax, eax
mov dword [esp + 0x42], eax
xor ecx, ecx
mov dword [esp + 0x46], eax
mov dword [esp + 0x6a], ecx
mov dword [esp + 0x4a], eax
mov dword [esp + 0x6e], ecx
mov dword [esp + 0x4e], eax
mov dword [esp + 0x72], ecx
mov dword [esp + 0x52], eax
mov dword [esp + 0x76], ecx
mov dword [esp + 0x56], eax
mov dword [esp + 0x7a], ecx
mov dword [esp + 0x5a], eax
mov dword [esp + 0x7e], ecx
mov dword [esp + 0x5e], eax
mov dword [esp + 0x62], eax
mov dword [esp + 0x82], ecx
push ebx
xor ebx, ebx
mov word [esp + 0x6a], ax
cmp dword [0x781effc], ebx
mov dword [esp + 0x8a], ecx
mov dword [esp + 0x8e], ecx
mov word [esp + 0x44], bx
mov word [esp + 0x6c], bx
mov word [esp + 0x92], cx
je 0x77c32e6
push ebp
push esi
push edi
push 0x781eff0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
call fcn.077b54a0
test eax, eax
je 0x77c32cb
push ebx
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c32cb
cmp dword [0x781effc], ebx
je 0x77c32cb
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c32cb
push 0x781eff0
call fcn.077b01c0
test eax, eax
je 0x77c2c19
push ebx
lea edx, [esp + 0x50]
push edx
push 0x781eff0
call fcn.077b0320
push eax
push 0x781eff0
call fcn.077afe40
mov esi, eax
cmp esi, ebx
je 0x77c2c19
xor eax, eax
mov dword [esp + 0xa2], eax
mov dword [esp + 0xa6], eax
mov dword [esp + 0xaa], eax
mov dword [esp + 0xae], eax
mov dword [esp + 0xb2], eax
mov dword [esp + 0xb6], eax
push 0x14
mov dword [esp + 0xbe], eax
lea ecx, [esp + 0xa4]
push ecx
mov dword [esp + 0xc6], eax
push esi
mov dword [esp + 0xce], eax
push 0x781eff0
mov word [esp + 0xb0], bx
mov word [esp + 0xd6], ax
call fcn.077b6b00
lea edx, [esp + 0xa0]
push 0x780a9a8
push edx
call fcn.077ec17f
add esp, 8
test eax, eax
je 0x77c2bc9
push 0xf
push 0x781eff0
call fcn.077affd0
test eax, eax
jne 0x77c2c19
push esi
push 0x781eff0
call fcn.077afa70
test eax, eax
jne 0x77c2bfb
cmp dword [0x781effc], ebx
je 0x77c2bfb
push 0x64
push 0x781eff0
call fcn.077ac5b0
push esi
push 0x781eff0
call fcn.077afa70
test eax, eax
je 0x77c2bd8
mov eax, dword [esp + 0x4c]
push eax
push 0x781eff0
call fcn.077b6730
push 0x7d0
push 0x781eff0
call fcn.077ac5b0
call fcn.077c11d0
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c32cb
push ebx
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c32cb
cmp dword [0x781effc], ebx
je 0x77c32cb
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c32cb
call fcn.077be740
call fcn.077bee90
cmp dword [0x781f110], ebx
je 0x77c2ca3
mov esi, dword [0x7808358]
call esi
sub eax, dword [0x781f114]
cmp eax, 0xbb8
jbe 0x77c2ca3
push 0x781eff0
call fcn.077b4e20
push 0x781eff0
call fcn.077ba210
call esi
mov dword [0x781f114], eax
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c32cb
push ebx
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c32cb
cmp dword [0x781effc], ebx
je 0x77c32cb
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c32cb
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push 0x781eff0
call fcn.077b0480
fild dword [0x78191bc]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
push eax
call fcn.077c1f80
fild dword [0x78191bc]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
push eax
call fcn.077be7a0
fild dword [0x78191bc]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
push eax
call fcn.077bef70
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c32cb
push ebx
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c32cb
cmp dword [0x781effc], ebx
je 0x77c32cb
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c32cb
push 0x781eff0
call fcn.077ad670
and eax, ebx
and edx, 0x80000000
or eax, edx
je 0x77c32cb
mov eax, 1
mov dword [0x781f10c], eax
mov dword [0x781baf0], eax
mov eax, dword [0x781effc]
xor ebp, ebp
cmp eax, ebx
je 0x77c32c5
jmp 0x77c2de0
mov ebp, dword [esp + 0x10]
xor ebx, ebx
lea esp, [esp]
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c32c5
push ebx
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c32c5
push 0x781eff0
call fcn.077ad670
mov edi, eax
mov esi, edx
mov ecx, edi
or ecx, esi
je 0x77c32c5
mov ecx, esi
and ecx, 0x80000000
xor eax, eax
or eax, ecx
je 0x77c32c5
lea edx, [esp + 0x28]
push edx
push 0x781eff0
call fcn.077ada40
mov ecx, dword [esp + 0x28]
push ecx
push esi
push edi
push eax
push 0x781eff0
call fcn.077af4b0
mov ebx, eax
test ebx, ebx
je 0x77c2ebd
push ebx
push 0x781eff0
call fcn.077ae950
test eax, eax
jne 0x77c2ebd
push 0x14
lea edx, [esp + 0x54]
push edx
push ebx
push 0x781eff0
call fcn.077af1e0
lea eax, [esp + 0x50]
push 0x78091f4
push eax
call fcn.077eb863
add esp, 8
test eax, eax
je 0x77c2ebd
lea ecx, [esp + 0x50]
push 0x78091e8
push ecx
call fcn.077eb863
add esp, 8
test eax, eax
je 0x77c2ebd
lea edx, [esp + 0x50]
push 0x78091d8
push edx
call fcn.077eb863
add esp, 8
test eax, eax
jne 0x77c32c3
push ebp
push 0x3b
mov ecx, 0x781f118
call fcn.077a39a0
mov esi, eax
cmp esi, 0xffffffff
jne 0x77c2ef5
test ebp, ebp
je 0x77c32c3
push 0
push 0x3b
mov ecx, 0x781f118
mov dword [esp + 0x18], 0
call fcn.077a39a0
mov ebp, dword [esp + 0x10]
mov esi, eax
mov eax, dword [0x781f078]
test eax, eax
je 0x77c2f2b
test ebp, ebp
jne 0x77c2f2b
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x77c2f2b
inc esi
push esi
push 0x3b
mov ecx, 0x781f118
mov dword [esp + 0x18], esi
call fcn.077a39a0
mov esi, eax
cmp esi, 0xffffffff
je 0x77c32c3
mov ebp, dword [esp + 0x10]
mov eax, esi
sub eax, ebp
push eax
push ebp
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x781f118
call fcn.077a3d80
mov edx, dword [eax]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.077eb432
add esp, 8
lea ecx, [esp + 0x30]
call fcn.077a2320
mov eax, dword [0x781f0b4]
inc esi
test eax, eax
mov dword [esp + 0x10], esi
je 0x77c2fc1
push 0x14
lea ecx, [esp + 0x54]
push ecx
push ebx
push 0x781eff0
call fcn.077af1e0
lea edx, [esp + 0x50]
push 0x780b764
push edx
call fcn.077ec17f
add esp, 8
test eax, eax
jne 0x77c2fa5
lea eax, [esp + 0x50]
push 0x780b758
push eax
call fcn.077ec17f
add esp, 8
test eax, eax
je 0x77c2fc1
mov ecx, dword [0x781f13c]
push ecx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov eax, dword [0x781f090]
test eax, eax
je 0x77c3007
push 1
push 0
push 0
push 0
push 0x781eff0
call fcn.077b75f0
fild dword [0x781f094]
fcompp
fnstsw ax
test ah, 1
jne 0x77c3007
mov edx, dword [0x781f130]
push edx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov eax, dword [0x781f098]
test eax, eax
je 0x77c304c
push 1
push 0
push 0
push 0
push 0x781eff0
call fcn.077b75f0
fild dword [0x781f09c]
fcompp
fnstsw ax
test ah, 1
jne 0x77c304c
mov eax, dword [0x781f134]
push eax
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov eax, dword [0x781f0a0]
test eax, eax
je 0x77c3092
push 1
push 0
push 0
push 0
push 0x781eff0
call fcn.077b75f0
fild dword [0x781f0a4]
fcompp
fnstsw ax
test ah, 0x41
jp 0x77c3092
mov ecx, dword [0x781f138]
push ecx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov eax, dword [0x781f07c]
test eax, eax
je 0x77c323c
push ebx
push 0x781eff0
mov dword [esp + 0x28], 0
call fcn.077ac8f0
xor eax, eax
and edx, 0x80000000
or eax, edx
je 0x77c323c
lea edx, [esp + 0x24]
push edx
push 0x781eff0
call fcn.077ada40
mov ebp, eax
test ebp, ebp
je 0x77c31c1
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jbe 0x77c31c1
lea esp, [esp]
push edi
push ebp
push 0x781eff0
call fcn.077af440
mov esi, eax
test esi, esi
je 0x77c31b4
jmp 0x77c3110
push esi
push 0x781eff0
call fcn.077ae950
test eax, eax
je 0x77c319d
push esi
push 0x781eff0
call fcn.077af3c0
test eax, eax
jne 0x77c319d
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x48]
push edx
push ebx
push 0x781eff0
call fcn.077af040
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
push esi
push 0x781eff0
call fcn.077af040
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x4c]
push eax
push ecx
push edx
push 0x781eff0
call fcn.077b7740
fild dword [0x781f07c]
fcompp
fnstsw ax
test ah, 1
jne 0x77c319d
inc dword [esp + 0x20]
push 0
push esi
push 0x781eff0
call fcn.077af440
mov esi, eax
test esi, esi
jne 0x77c3110
mov eax, dword [esp + 0x24]
inc edi
cmp edi, eax
jb 0x77c30f0
mov eax, dword [esp + 0x20]
cmp eax, dword [0x781f080]
jl 0x77c323c
mov ecx, dword [0x781f120]
push ecx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov edx, dword [0x781f124]
push edx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov eax, dword [0x781f128]
push eax
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov ecx, dword [0x781f12c]
push ecx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
lea edx, [esp + 0x78]
push 0x780b63c
push edx
call fcn.077eb863
add esp, 8
test eax, eax
jne 0x77c325e
push 0x781eff0
call fcn.077ba940
jmp 0x77c3278
lea eax, [esp + 0x78]
push eax
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov eax, dword [0x781f118]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x77c32aa
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.077ec17f
add esp, 8
test eax, eax
je 0x77c32aa
sub eax, dword [0x781f118]
sar eax, 1
test eax, eax
jne 0x77c32aa
mov dword [esp + 0x2c], 1
push 0x64
push 0x781eff0
call fcn.077ac5b0
mov eax, dword [0x781effc]
test eax, eax
jne 0x77c2dd6
xor ebx, ebx
mov dword [0x781f10c], ebx
push 0x64
push 0x781eff0
call fcn.077ac5b0
cmp dword [0x781effc], ebx
jne 0x77c2aa0
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0xbc]
xor eax, eax
pop ebx
call fcn.077eb5bd
add esp, 0xbc
ret 4