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

Disassembly:
sub esp, 0x78
mov eax, dword [0x781c62c]
mov dword [esp + 0x74], eax
mov eax, dword [0x781feb0]
push ebp
xor ebp, ebp
cmp eax, ebp
je 0x77e4932
push ebx
push esi
push edi
nop
cmp dword [0x781effc], ebp
je 0x77e492f
push 0x781eff0
mov dword [esp + 0x24], ebp
call fcn.077b01c0
test eax, eax
je 0x77e4358
push ebp
lea eax, [esp + 0x50]
push eax
push 0x781eff0
call fcn.077b0320
push eax
push 0x781eff0
call fcn.077afe40
mov esi, eax
cmp esi, ebp
je 0x77e4358
xor ecx, ecx
mov dword [esp + 0x5e], ecx
mov dword [esp + 0x62], ecx
mov dword [esp + 0x66], ecx
mov dword [esp + 0x6a], ecx
mov dword [esp + 0x6e], ecx
mov dword [esp + 0x72], ecx
push 0x14
mov dword [esp + 0x7a], ecx
lea edx, [esp + 0x60]
push edx
mov dword [esp + 0x82], ecx
push esi
mov dword [esp + 0x8a], ecx
push 0x781eff0
mov word [esp + 0x6c], bp
mov word [esp + 0x92], cx
call fcn.077b6b00
lea eax, [esp + 0x5c]
push 0x780a9a8
push eax
call fcn.077ec17f
add esp, 8
test eax, eax
je 0x77e4308
push 0xf
push 0x781eff0
call fcn.077affd0
test eax, eax
jne 0x77e4358
push esi
push 0x781eff0
call fcn.077afa70
test eax, eax
jne 0x77e433a
cmp dword [0x781effc], ebp
je 0x77e433a
push 0x64
push 0x781eff0
call fcn.077ac5b0
push esi
push 0x781eff0
call fcn.077afa70
test eax, eax
je 0x77e4317
mov ecx, dword [esp + 0x4c]
push ecx
push 0x781eff0
call fcn.077b6730
push 0x7d0
push 0x781eff0
call fcn.077ac5b0
push 0x781eff0
call fcn.077b0bf0
test eax, eax
je 0x77e4401
cmp dword [0x781e844], ebp
je 0x77e4401
cmp dword [0x781effc], ebp
je 0x77e4401
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x44]
push ecx
push 0x781eff0
call fcn.077b0480
push 0x781eff0
call fcn.077b78d0
push 0x2710
push 0x781eff0
call fcn.077ac5b0
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77e4401
push 0x781eff0
call fcn.077b2c70
mov edx, dword [esp + 0x34]
cmp eax, 0xd2
mov eax, dword [esp + 0x3c]
push ebp
jne 0x77e43f0
push 0x1f4
push ebp
push edx
push eax
push 0x781eff0
call fcn.077b8190
jmp 0x77e4401
mov ecx, dword [esp + 0x5c]
push ecx
push edx
push eax
push 0x781eff0
call fcn.077bb760
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77e4914
cmp dword [0x781febc], ebp
je 0x77e446a
mov ecx, dword [0x781fef0]
push ecx
push 0x781eff0
call fcn.077b6260
mov esi, eax
cmp esi, ebp
je 0x77e446a
push esi
push 0x781eff0
call fcn.077ac8f0
push 0x781eff0
mov edi, eax
mov ebx, edx
call fcn.077ad670
cmp edi, eax
jne 0x77e4453
cmp ebx, edx
je 0x77e446a
push esi
push 0x781eff0
call fcn.077ac8f0
push edx
push eax
push 0x781eff0
call fcn.077b5720
push 0x781eff0
call fcn.077ad670
or eax, edx
je 0x77e4684
push 0x781eff0
call fcn.077ad670
and eax, ebp
and edx, 0x80000000
or eax, edx
jne 0x77e4684
cmp dword [0x781fec0], ebp
je 0x77e4539
lea edx, [esp + 0x20]
push edx
push 0x781eff0
call fcn.077ad940
mov esi, eax
cmp esi, ebp
je 0x77e4539
mov eax, dword [esp + 0x20]
push eax
push 0x781eff0
call fcn.077ad670
push edx
push eax
push esi
push 0x781eff0
call fcn.077af4b0
cmp eax, ebp
je 0x77e4539
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x30]
push ecx
push eax
push 0x781eff0
call fcn.077aef50
test eax, eax
je 0x77e4539
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push ebp
push edx
push eax
push ecx
push 0x781eff0
call fcn.077b75f0
fcomp qword [0x780a800]
fnstsw ax
test ah, 0x41
jne 0x77e4539
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
push 0x781eff0
call fcn.077b7d00
cmp dword [0x781feb4], ebp
jne 0x77e454d
cmp dword [0x781feb8], ebp
je 0x77e464b
lea edx, [esp + 0x20]
push edx
push 0x781eff0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.077ad940
mov esi, eax
mov eax, dword [esp + 0x20]
push eax
push 0x781eff0
call fcn.077ad670
push edx
push eax
push esi
push 0x781eff0
call fcn.077af4b0
cmp dword [0x781feb4], ebp
je 0x77e45d8
cmp eax, ebp
je 0x77e45d8
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push eax
push 0x781eff0
call fcn.077ae9d0
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
jle 0x77e45d8
mov eax, dword [esp + 0x18]
imul eax, eax, 0x64
cdq
idiv ecx
cmp eax, dword [0x781fec4]
jg 0x77e45d8
mov eax, dword [0x781fee8]
push eax
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov ecx, dword [esp + 0x20]
push ecx
push 0x781eff0
call fcn.077ad670
push edx
push eax
push esi
push 0x781eff0
call fcn.077af4b0
cmp dword [0x781feb8], ebp
je 0x77e464b
cmp eax, ebp
je 0x77e464b
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x1c]
push ecx
push eax
push 0x781eff0
call fcn.077ae9d0
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
jle 0x77e464b
mov eax, dword [esp + 0x18]
imul eax, eax, 0x64
cdq
idiv ecx
cmp eax, dword [0x781fec8]
jg 0x77e464b
mov edx, dword [0x781feec]
push edx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
call fcn.077e37e0
call fcn.077e3af0
test eax, eax
je 0x77e4684
push 0x781eff0
call fcn.077ad670
push ebp
push ebp
push 0x781eff0
mov esi, eax
mov edi, edx
call fcn.077b5720
call fcn.077c11d0
push edi
push esi
push 0x781eff0
call fcn.077b5720
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x30]
push edx
push 0x781eff0
call fcn.077b0480
cmp dword [0x781fecc], ebp
je 0x77e4914
cmp dword [0x781fed0], ebp
je 0x77e4914
push 0x781eff0
call fcn.077ad670
mov dword [esp + 0x50], eax
lea eax, [esp + 0x30]
push eax
push 0x781eff0
mov dword [esp + 0x5c], edx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x20], 0x3e8
call fcn.077ae3e0
mov ebp, eax
test ebp, ebp
je 0x77e48fe
mov ecx, dword [esp + 0x30]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], eax
jbe 0x77e48fe
push eax
push ebp
push 0x781eff0
call fcn.077af440
mov esi, eax
test esi, esi
je 0x77e4817
push esi
push 0x781eff0
call fcn.077b1aa0
push 0x781eff0
mov edi, eax
mov ebx, edx
call fcn.077b0b20
cmp edi, eax
jne 0x77e473d
cmp ebx, edx
je 0x77e4817
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x48]
push eax
push esi
push 0x781eff0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call fcn.077b1b50
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
push eax
push 0x781eff0
call fcn.077b7740
fild dword [0x781fed0]
fcompp
fnstsw ax
test ah, 1
jne 0x77e4817
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
push esi
xor edi, edi
push 0x781eff0
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.077b1bd0
mov ecx, dword [esp + 0x14]
cmp ecx, edi
je 0x77e4817
mov edi, dword [esp + 0x10]
test edi, edi
je 0x77e4817
mov eax, dword [0x781feb4]
test eax, eax
je 0x77e47ef
mov eax, ecx
imul eax, eax, 0x64
xor edx, edx
div edi
cmp eax, dword [0x781fec4]
jbe 0x77e4809
mov eax, dword [0x781feb8]
test eax, eax
je 0x77e4817
mov eax, ecx
imul eax, eax, 0x64
xor edx, edx
div edi
cmp eax, dword [0x781fec8]
ja 0x77e4817
cmp eax, dword [esp + 0x18]
jae 0x77e4817
mov dword [esp + 0x38], esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jb 0x77e4702
mov esi, dword [esp + 0x38]
xor edi, edi
cmp esi, edi
je 0x77e48fe
cmp dword [0x781effc], edi
je 0x77e48fe
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push 0x781eff0
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.077b1bd0
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x77e48a2
cmp dword [0x781feb4], edi
je 0x77e48a2
mov eax, dword [esp + 0x14]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, dword [0x781fec4]
ja 0x77e48a2
mov edx, dword [0x781fee8]
push edx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push 0x781eff0
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.077b1bd0
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x77e48fe
cmp dword [0x781feb8], edi
je 0x77e48fe
mov eax, dword [esp + 0x14]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, dword [0x781fec8]
ja 0x77e48fe
mov edx, dword [0x781feec]
push edx
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
push 0x781eff0
call fcn.077b5720
xor ebp, ebp
push 0xfa
push 0x781eff0
call fcn.077ac5b0
cmp dword [0x781feb0], ebp
jne 0x77e4250
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
pop ebp
call fcn.077eb5bd
add esp, 0x78
ret