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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x32c
mov eax, dword [0x781c62c]
push ebx
push esi
push edi
mov dword [esp + 0x334], eax
xor eax, eax
xor esi, esi
mov word [esp + 0x128], si
mov ecx, 0x81
lea edi, [esp + 0x12a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x128]
push 0x781f7e0
push eax
call fcn.077eb432
lea ecx, [esp + 0x130]
push 0x780bc70
push ecx
call fcn.077eb408
add esp, 0x10
lea edx, [esp + 0x128]
push 0x14
push edx
call fcn.077eb507
mov ecx, dword [0x781eff0]
add esp, 4
lea eax, [esp + eax*2 + 0x12c]
push eax
push ecx
push 0x781eff0
call fcn.077ac940
lea edx, [esp + 0x128]
push 0x780bc64
push edx
call fcn.077eb408
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x92], eax
mov dword [esp + 0xba], ecx
mov dword [esp + 0x96], eax
mov dword [esp + 0xbe], ecx
mov dword [esp + 0x9a], eax
mov dword [esp + 0xc2], ecx
mov dword [esp + 0x9e], eax
mov dword [esp + 0xc6], ecx
mov dword [esp + 0xa2], eax
mov dword [esp + 0xca], ecx
mov dword [esp + 0xa6], eax
mov dword [esp + 0xce], ecx
add esp, 8
xor edx, edx
mov dword [esp + 0xa2], eax
mov dword [esp + 0xca], ecx
mov dword [esp + 0xda], edx
mov dword [esp + 0xa6], eax
mov dword [esp + 0xce], ecx
mov dword [esp + 0xaa], eax
mov dword [esp + 0xd2], ecx
mov dword [esp + 0xde], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov word [esp + 0x88], si
mov word [esp + 0xae], ax
mov word [esp + 0xb0], si
mov word [esp + 0xd6], cx
mov word [esp + 0xd8], si
mov dword [esp + 0xe2], edx
mov dword [esp + 0xe6], edx
mov dword [esp + 0xea], edx
mov dword [esp + 0xee], edx
mov dword [esp + 0xf2], edx
mov dword [esp + 0xf6], edx
mov dword [esp + 0xfa], edx
mov word [esp + 0xfe], dx
mov dword [esp + 0x6c], esi
call dword [0x7808358]
push 0x781eff0
mov dword [0x781f4a0], eax
call fcn.077b09e0
push 0x781eff0
mov dword [0x781f4ac], eax
call fcn.077b0a80
push 0x781eff0
mov dword [0x781f4b0], eax
call fcn.077b0580
push esi
push 0x781f4a4
push 0x781eff0
mov dword [0x781f4a8], eax
call fcn.077b77f0
push 0x780bc54
lea eax, [esp + 0x12c]
push eax
mov dword [0x781f4c4], esi
call fcn.077bdf20
cmp dword [0x781fe18], esi
je 0x77c4ce5
mov ecx, dword [0x781fe44]
push ecx
call fcn.077e1560
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c67b4
push esi
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c67b4
cmp dword [0x781effc], esi
je 0x77c67b4
push 0x780bc44
lea edx, [esp + 0x12c]
push edx
call fcn.077bdf20
call fcn.077e4230
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c67b4
push esi
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c67b4
cmp dword [0x781effc], esi
je 0x77c67b4
push 0x780bc34
lea eax, [esp + 0x12c]
push eax
call fcn.077bdf20
cmp dword [0x781fe84], esi
je 0x77c4da6
mov ecx, dword [0x781fed8]
push ecx
push 0x781eff0
call fcn.077b9230
test eax, eax
je 0x77c4da6
mov edx, dword [0x781fed8]
push edx
push 0x781eff0
call fcn.077b6260
test eax, eax
jne 0x77c4eaf
cmp dword [0x781effc], esi
je 0x77c4eaf
fild dword [0x781e86c]
push 1
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077b75f0
fild dword [0x78191bc]
fcompp
fnstsw ax
test ah, 5
jp 0x77c4eaf
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd0
je 0x77c4e88
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd1
je 0x77c4e88
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd2
je 0x77c4e88
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xdd
je 0x77c4e88
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xde
je 0x77c4e88
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xe0
je 0x77c4e88
fild dword [0x781e86c]
push esi
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077bb760
jmp 0x77c4eaf
fild dword [0x781e868]
push esi
push 0x1f4
push esi
sub esp, 8
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077b8190
push 1
push 0x781eff0
call fcn.077ba6d0
cmp dword [0x781effc], esi
je 0x77c67a8
jmp 0x77c4ed0
xor edi, edi
push 0x780bc20
lea eax, [esp + 0x12c]
push eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x6c], edi
call fcn.077bdf20
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c6787
mov ebx, dword [0x7808358]
push edi
push 0x781eff0
mov edi, edi
call fcn.077ad430
test eax, eax
je 0x77c6787
cmp dword [0x781effc], edi
je 0x77c6787
cmp dword [esp + 0x6c], edi
je 0x77c4f92
push 0x1388
push 0x781eff0
mov dword [esp + 0x74], edi
call fcn.077ac5b0
push 0x780bc44
lea ecx, [esp + 0x12c]
push ecx
call fcn.077bdf20
call fcn.077e4230
push 0x780bc14
lea edx, [esp + 0x12c]
push edx
call fcn.077bdf20
fild dword [0x78191bc]
push 1
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077be320
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c678f
push edi
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c678f
cmp dword [0x781effc], edi
je 0x77c678f
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c678f
push 0x780bc08
lea eax, [esp + 0x12c]
push eax
call fcn.077bdf20
call fcn.077c1880
test eax, eax
je 0x77c5089
push 0x781e638
call fcn.077eb507
add esp, 4
test eax, eax
jbe 0x77c5089
push edi
push 0x781eff0
call fcn.077ba6d0
push 0x780bbf8
call fcn.077c8ec0
add esp, 4
push 0x781e638
call fcn.077e1560
push 1
push 0x781eff0
call fcn.077ba6d0
push 0x781eff0
call fcn.077b01c0
test eax, eax
je 0x77c51a5
push edi
lea ecx, [esp + 0x88]
push ecx
push 0x781eff0
call fcn.077b0320
push eax
push 0x781eff0
call fcn.077afe40
mov esi, eax
cmp esi, edi
je 0x77c51a5
xor edx, edx
mov dword [esp + 0x102], edx
mov dword [esp + 0x106], edx
mov dword [esp + 0x10a], edx
mov dword [esp + 0x10e], edx
mov dword [esp + 0x112], edx
mov dword [esp + 0x116], edx
push 0x14
mov dword [esp + 0x11e], edx
lea eax, [esp + 0x104]
push eax
mov dword [esp + 0x126], edx
push esi
mov dword [esp + 0x12e], edx
push 0x781eff0
mov word [esp + 0x110], di
mov word [esp + 0x136], dx
call fcn.077b6b00
lea ecx, [esp + 0x100]
push 0x780a9a8
push ecx
call fcn.077ec17f
add esp, 8
test eax, eax
je 0x77c5152
push 0xf
push 0x781eff0
call fcn.077affd0
test eax, eax
jne 0x77c51a5
push esi
push 0x781eff0
call fcn.077afa70
test eax, eax
jne 0x77c5184
cmp dword [0x781effc], edi
je 0x77c5184
push 0x64
push 0x781eff0
call fcn.077ac5b0
push esi
push 0x781eff0
call fcn.077afa70
test eax, eax
je 0x77c5161
mov edx, dword [esp + 0x84]
push edx
push 0x781eff0
call fcn.077b6730
push 0x7d0
push 0x781eff0
call fcn.077ac5b0
push 0x781eff0
call fcn.077b0270
test eax, eax
je 0x77c52a3
push edi
lea eax, [esp + 0x84]
push eax
push 0x781eff0
call fcn.077b0270
push eax
push 0x781eff0
call fcn.077afe40
mov esi, eax
cmp esi, edi
je 0x77c52a3
push esi
push 0x781eff0
call fcn.077afa70
test eax, eax
jne 0x77c5213
mov edi, edi
cmp dword [0x781effc], edi
je 0x77c5213
push 0x64
push 0x781eff0
call fcn.077ac5b0
push esi
push 0x781eff0
call fcn.077afa70
test eax, eax
je 0x77c51f0
mov ecx, dword [esp + 0x80]
push ecx
push 0x781eff0
call fcn.077b6730
call ebx
push 0x781eff0
mov esi, eax
call fcn.077b0270
test eax, eax
je 0x77c5264
cmp dword [0x781fe1c], edi
jne 0x77c5264
call ebx
sub eax, esi
cmp eax, 0xbb8
jae 0x77c5264
push 0x64
push 0x781eff0
call fcn.077ac5b0
push 0x781eff0
call fcn.077b0270
test eax, eax
jne 0x77c5237
push 0x781eff0
call fcn.077b0000
test eax, eax
je 0x77c5294
cmp dword [0x781fe1c], edi
jne 0x77c5294
push 0x64
push 0x781eff0
call fcn.077ac5b0
push 0x781eff0
call fcn.077b0000
test eax, eax
jne 0x77c5272
push 0x3e8
push 0x781eff0
call fcn.077ac5b0
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c678f
push edi
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c678f
cmp dword [0x781effc], edi
je 0x77c678f
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c678f
push 0x780bbe8
lea edx, [esp + 0x12c]
push edx
call fcn.077bdf20
call fcn.077c11d0
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c678f
push edi
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c678f
cmp dword [0x781effc], edi
je 0x77c678f
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c678f
cmp dword [0x781f0ac], edi
je 0x77c53bb
cmp dword [0x781f0b0], edi
je 0x77c535e
push 0x781eff0
call fcn.077ad320
test eax, eax
je 0x77c53bb
push 0x780bbdc
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc450
test eax, eax
je 0x77c5383
push 0x780bbdc
jmp 0x77c53a6
push 0x780bbd4
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc450
test eax, eax
je 0x77c53bb
push 0x780bbd4
push 0x781eff0
call fcn.077bcc40
push eax
push 0x781eff0
call fcn.077bc930
push 0x780bc34
lea eax, [esp + 0x12c]
push eax
call fcn.077bdf20
cmp dword [0x781fe84], edi
je 0x77c5403
mov ecx, dword [0x781fed8]
push ecx
push 0x781eff0
call fcn.077b9230
test eax, eax
je 0x77c5403
mov edx, dword [0x781fed8]
push edx
push 0x781eff0
call fcn.077b6260
test eax, eax
jne 0x77c5526
fild dword [0x781e86c]
push 1
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077b75f0
fild dword [0x78191bc]
fcompp
fnstsw ax
test ah, 5
jp 0x77c5526
push 0x781eff0
call fcn.077b5fd0
test eax, eax
je 0x77c5468
fild dword [0x781e86c]
push edi
push 0x1f4
sub esp, 0xc
fstp dword [esp + 8]
jmp 0x77c5509
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd0
je 0x77c54ff
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd1
je 0x77c54ff
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd2
je 0x77c54ff
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xdd
je 0x77c54ff
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xde
je 0x77c54ff
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xe0
je 0x77c54ff
fild dword [0x781e86c]
push edi
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077bb760
jmp 0x77c5526
push edi
push 0x1f4
push edi
sub esp, 8
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077b8190
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c678f
push edi
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c678f
cmp dword [0x781effc], edi
je 0x77c678f
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c678f
push 0x780bbc8
lea eax, [esp + 0x12c]
push eax
call fcn.077bdf20
call fcn.077a28f0
push 0x780bbbc
lea ecx, [esp + 0x12c]
push ecx
call fcn.077bdf20
call fcn.077be740
call fcn.077bee90
cmp dword [0x781f110], edi
je 0x77c55ce
call ebx
sub eax, dword [0x781f114]
cmp eax, 0xbb8
jbe 0x77c55ce
push 0x781eff0
call fcn.077b4e20
push 0x781eff0
call fcn.077ba210
call ebx
mov dword [0x781f114], eax
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c678f
push edi
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c678f
cmp dword [0x781effc], edi
je 0x77c678f
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c678f
cmp dword [0x781fe84], edi
je 0x77c56db
mov edx, dword [0x781fed8]
push edx
push 0x781eff0
call fcn.077b9230
test eax, eax
je 0x77c56db
mov eax, dword [0x781fed8]
push eax
push 0x781eff0
call fcn.077b6260
test eax, eax
je 0x77c56db
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [0x781fed8]
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x60]
push eax
push ecx
push 0x781eff0
call fcn.077b6260
push eax
push 0x781eff0
call fcn.077aef50
test eax, eax
je 0x77c5768
fild dword [0x78191bc]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x5c]
fstp dword [esp]
push edx
push eax
push ecx
call fcn.077c1f80
fild dword [0x78191bc]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x5c]
fstp dword [esp]
push edx
push eax
push ecx
call fcn.077be7a0
fild dword [0x78191bc]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x5c]
fstp dword [esp]
push edx
push eax
push ecx
jmp 0x77c5763
fild dword [0x78191bc]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077c1f80
fild dword [0x78191bc]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077be7a0
fild dword [0x78191bc]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077bef70
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c678f
push edi
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c678f
cmp dword [0x781effc], edi
je 0x77c678f
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c678f
mov edx, dword [0x78191bc]
fild dword [0x781e86c]
push edx
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077a50a0
push 0x780bbac
lea eax, [esp + 0x12c]
push eax
call fcn.077bdf20
lea ecx, [esp + 0x1c]
push ecx
push 0x781eff0
call fcn.077adb40
cmp eax, edi
mov dword [esp + 0x2c], eax
je 0x77c5ae3
mov eax, dword [0x781fdf4]
test eax, eax
je 0x77c5ae3
mov eax, dword [0x781effc]
test eax, eax
je 0x77c5ae3
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c5ae3
mov eax, dword [esp + 0x1c]
xor edi, edi
xor ebx, ebx
test eax, eax
mov dword [esp + 0x78], 0x4b189680
jbe 0x77c5ae3
jmp 0x77c5850
mov eax, dword [0x781effc]
test eax, eax
je 0x77c59a9
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c59a9
mov edx, dword [esp + 0x2c]
push ebx
push edx
push 0x781eff0
call fcn.077af440
mov esi, eax
test esi, esi
je 0x77c599c
lea esp, [esp]
push esi
push 0x781eff0
call fcn.077af850
cmp eax, 2
jne 0x77c5985
push 0x14
lea eax, [esp + 0xdc]
push eax
push esi
push 0x781eff0
call fcn.077af580
mov eax, dword [0x781fdf8]
test eax, eax
je 0x77c58dc
lea ecx, [esp + 0xd8]
push ecx
push 0x781fe08
call fcn.077bc090
test eax, eax
je 0x77c5985
push esi
push 0x781eff0
call fcn.077bafc0
test eax, eax
je 0x77c5985
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x40]
push ecx
push esi
push 0x781eff0
call fcn.077af770
test eax, eax
je 0x77c5985
fild dword [0x781e86c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push edx
push eax
push ecx
push 0x781eff0
call fcn.077b7740
fild dword [0x78191bc]
fcompp
fnstsw ax
test ah, 5
jnp 0x77c5985
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
push 1
push edx
push eax
push ecx
push 0x781eff0
call fcn.077b75f0
fcom dword [esp + 0x78]
fnstsw ax
test ah, 5
jp 0x77c5983
fstp dword [esp + 0x78]
mov edi, esi
jmp 0x77c5985
fstp st(0)
push 0
push esi
push 0x781eff0
call fcn.077af440
mov esi, eax
test esi, esi
jne 0x77c5890
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
jb 0x77c5850
test edi, edi
je 0x77c5ae3
push 0
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x50]
push eax
push edi
push 0x781eff0
call fcn.077af6a0
test eax, eax
je 0x77c5ad6
push 0x14
lea ecx, [esp + 0xdc]
push ecx
push edi
push 0x781eff0
call fcn.077af580
test eax, eax
je 0x77c5ad6
push edi
push 0x781eff0
call fcn.077bafc0
test eax, eax
je 0x77c5ad6
mov eax, dword [0x781effc]
test eax, eax
je 0x77c5a97
lea ecx, [ecx]
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c5a97
fild dword [0x781e86c]
push 1
push 0x186a0
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077be950
test eax, eax
jne 0x77c5a97
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0xd8]
push edx
push eax
push ecx
push 0x781eff0
call fcn.077af8d0
test eax, eax
je 0x77c5a97
push 0
push edi
push 0x781eff0
call fcn.077b64d0
push 0x1f4
push 0x781eff0
call fcn.077ac5b0
mov eax, dword [0x781effc]
test eax, eax
jne 0x77c5a10
fild dword [0x781e86c]
push 1
push 0x186a0
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077be950
test eax, eax
jne 0x77c5ae3
push 0xc8
push 0x781eff0
call fcn.077ac5b0
mov eax, dword [0x781fdf4]
test eax, eax
jne 0x77c5811
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c678f
push 0
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c678f
mov eax, dword [0x781effc]
test eax, eax
je 0x77c678f
push 0x781eff0
call fcn.077b0bf0
test eax, eax
jne 0x77c678f
push 0x780bb9c
lea edx, [esp + 0x12c]
push edx
call fcn.077bdf20
fild dword [0x781e86c]
mov eax, dword [0x78191bc]
mov ecx, dword [0x781f088]
mov edx, dword [0x781e880]
push eax
mov eax, dword [esp + 0x28]
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push 0x781e890
push eax
push ecx
call fcn.077c4090
mov esi, eax
mov eax, dword [0x781fe84]
test eax, eax
je 0x77c5e27
mov edx, dword [0x781fed8]
push edx
push 0x781eff0
call fcn.077b9230
test eax, eax
je 0x77c5e27
mov eax, dword [0x781fed8]
push eax
push 0x781eff0
call fcn.077b6260
test eax, eax
je 0x77c5e27
push 0x781eff0
call fcn.077ad670
or eax, edx
jne 0x77c5c63
mov eax, dword [0x781fe88]
test eax, eax
je 0x77c5c63
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [0x781fed8]
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x44]
push eax
push ecx
push 0x781eff0
call fcn.077b9230
push eax
push 0x781eff0
call fcn.077b1b50
test eax, eax
je 0x77c5c63
push 0x781eff0
call fcn.077b5fd0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x74]
test eax, eax
mov eax, dword [esp + 0x44]
je 0x77c5df6
push 1
push edx
push eax
push ecx
push 0x781eff0
call fcn.077b75f0
fcomp dword [0x780bb98]
fnstsw ax
test ah, 0x41
jne 0x77c5c63
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
push 0x781eff0
call fcn.077b7d00
test esi, esi
je 0x77c6780
push esi
push 0x781eff0
call fcn.077ac8f0
push edx
push eax
push 0x781eff0
call fcn.077b5720
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x78]
push eax
push 0x781eff0
call fcn.077b0480
mov edi, dword [0x7808358]
call edi
push 0x780bb8c
lea ecx, [esp + 0x12c]
xor ebx, ebx
push ecx
mov dword [esp + 0x34], ebx
call fcn.077bdf20
call edi
mov dword [esp + 0x50], eax
mov eax, 1
mov dword [0x781f10c], eax
mov dword [0x781baf0], eax
mov eax, dword [0x781f0f8]
test eax, eax
je 0x77c5d00
push 0x781eff0
call fcn.077b7990
test eax, eax
je 0x77c5d00
push 0x781eff0
call fcn.077ad670
push edx
push eax
push 0x781eff0
call fcn.077b7ac0
lea ecx, [ecx]
mov eax, dword [0x781effc]
test eax, eax
je 0x77c6724
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c6724
push 0
push 0x781eff0
call fcn.077ad430
test eax, eax
je 0x77c6724
push 0x781eff0
call fcn.077ad670
mov esi, edx
mov dword [esp + 0x20], eax
or eax, esi
mov dword [esp + 0x24], esi
je 0x77c66c8
mov eax, dword [0x781fe84]
test eax, eax
je 0x77c5dbc
mov edx, dword [0x781fed8]
push edx
push 0x781eff0
call fcn.077b9230
test eax, eax
je 0x77c5dbc
mov eax, dword [0x781fed8]
push eax
push 0x781eff0
call fcn.077b6260
test eax, eax
je 0x77c5dbc
call edi
sub eax, dword [esp + 0x50]
cmp eax, 0x5dc
jbe 0x77c5dbc
call edi
mov ecx, dword [0x781fed8]
push ecx
push 0x781eff0
mov dword [esp + 0x58], eax
call fcn.077b9230
push eax
push 0x781eff0
call fcn.077b1aa0
push edx
push eax
push 0x781eff0
call fcn.077b6190
mov ecx, esi
and ecx, 0x80000000
xor eax, eax
or eax, ecx
je 0x77c6523
lea edx, [esp + 0x4c]
push edx
push 0x781eff0
call fcn.077ada40
test eax, eax
jne 0x77c5eaf
push 0x64
push 0x781eff0
call fcn.077ac5b0
jmp 0x77c5d00
push 0
push edx
push eax
push ecx
push 0x781eff0
call fcn.077b75f0
fcomp dword [0x780bb98]
fnstsw ax
test ah, 0x41
jne 0x77c5c63
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
push 0
push edx
push eax
jmp 0x77c5c59
test esi, esi
jne 0x77c5c6b
mov eax, dword [0x781f084]
test eax, eax
je 0x77c6780
push 0x781eff0
call fcn.077b5fd0
test eax, eax
je 0x77c65b6
fild dword [0x781e86c]
push 1
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077b75f0
fcomp qword [0x780a800]
fnstsw ax
test ah, 0x41
jne 0x77c6780
push 0x781eff0
call fcn.077b00c0
test eax, eax
jne 0x77c6780
fild dword [0x781e86c]
sub esp, 0xc
fstp dword [esp + 8]
jmp 0x77c66a1
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push ecx
push eax
push 0x781eff0
call fcn.077af4b0
mov edi, eax
xor esi, esi
cmp edi, esi
je 0x77c5f44
push edi
push 0x781eff0
call fcn.077ae950
test eax, eax
jne 0x77c5f44
push 0x14
lea edx, [esp + 0x8c]
push edx
push edi
push 0x781eff0
call fcn.077af1e0
lea eax, [esp + 0x88]
push 0x78091f4
push eax
call fcn.077eb863
add esp, 8
test eax, eax
je 0x77c5f44
lea ecx, [esp + 0x88]
push 0x78091e8
push ecx
call fcn.077eb863
add esp, 8
test eax, eax
je 0x77c5f44
lea edx, [esp + 0x88]
push 0x78091d8
push edx
call fcn.077eb863
add esp, 8
test eax, eax
jne 0x77c64bb
mov eax, dword [0x781f088]
cmp eax, esi
je 0x77c5f5c
push eax
push edi
call fcn.077bed50
test eax, eax
jne 0x77c64cf
cmp dword [0x781f08c], esi
je 0x77c5f82
call dword [0x7808358]
sub eax, dword [esp + 0x50]
mov ecx, dword [0x781bad0]
imul ecx, ecx, 0x3e8
cmp eax, ecx
jae 0x77c64f7
push ebx
push 0x3b
mov ecx, 0x781f118
call fcn.077a39a0
mov esi, eax
cmp esi, 0xffffffff
jne 0x77c5faf
test ebx, ebx
je 0x77c66cf
xor ebx, ebx
push ebx
push 0x3b
mov ecx, 0x781f118
call fcn.077a39a0
mov esi, eax
mov eax, dword [0x781f078]
test eax, eax
je 0x77c5fdf
test ebx, ebx
jne 0x77c5fdf
mov eax, dword [esp + 0x64]
test eax, eax
je 0x77c5fdf
lea ebx, [esi + 1]
push ebx
push 0x3b
mov ecx, 0x781f118
call fcn.077a39a0
mov esi, eax
cmp esi, 0xffffffff
je 0x77c66de
mov edx, esi
sub edx, ebx
push edx
push ebx
lea eax, [esp + 0x84]
push eax
mov ecx, 0x781f118
call fcn.077a3d80
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0xb4]
push edx
call fcn.077eb432
add esp, 8
lea ecx, [esp + 0x7c]
call fcn.077a2320
fild dword [0x78191bc]
push 1
sub esp, 0x10
fstp dword [esp + 0xc]
lea ebx, [esi + 1]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077be320
fild dword [0x78191bc]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
call fcn.077bef70
push 0x781eff0
call fcn.077ad670
mov dword [esp + 0x20], eax
or eax, edx
mov dword [esp + 0x24], edx
je 0x77c66ed
push edi
push 0x781eff0
call fcn.077ac8f0
xor eax, eax
and edx, 0x80000000
or eax, edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
push edi
push 0x781eff0
je 0x77c60c3
call fcn.077af040
jmp 0x77c60c8
call fcn.077aef50
mov eax, dword [0x781fe84]
test eax, eax
je 0x77c6107
mov ecx, 0x781fed8
call fcn.077ab580
push eax
push 0x781eff0
call fcn.077b9230
test eax, eax
je 0x77c6107
mov ecx, 0x781fed8
call fcn.077ab580
push eax
push 0x781eff0
call fcn.077b6260
test eax, eax
jne 0x77c6192
fild dword [0x781e86c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push eax
push ecx
push edx
push 0x781eff0
call fcn.077b7740
fild dword [0x78191bc]
fcompp
fnstsw ax
test ah, 5
jnp 0x77c66f4
fild dword [0x781e86c]
push 1
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077b75f0
fild dword [0x78191bc]
fcompp
fnstsw ax
test ah, 5
jnp 0x77c6703
call fcn.077bee90
push 0x781eff0
call fcn.077ad670
mov dword [esp + 0x20], eax
or eax, edx
mov dword [esp + 0x24], edx
je 0x77c6712
mov eax, dword [0x781f0b4]
test eax, eax
je 0x77c626d
cmp dword [esp + 0x2c], 4
jae 0x77c626d
push 0x14
lea eax, [esp + 0x8c]
push eax
push edi
push 0x781eff0
call fcn.077af1e0
lea ecx, [esp + 0x88]
push 0x780b764
push ecx
call fcn.077ec17f
add esp, 8
test eax, eax
jne 0x77c6210
lea edx, [esp + 0x88]
push 0x780b758
push edx
call fcn.077ec17f
add esp, 8
test eax, eax
je 0x77c626d
fild dword [0x78191bc]
mov eax, dword [0x781f13c]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0
push eax
push 0x781eff0
call fcn.077bcc40
push eax
call fcn.077bf680
inc dword [esp + 0x2c]
push 0x64
push 0x781eff0
call fcn.077ac5b0
mov edi, dword [0x7808358]
jmp 0x77c5d00
mov eax, dword [0x781f090]
test eax, eax
je 0x77c62e8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push 1
push ecx
push edx
push eax
push 0x781eff0
call fcn.077b75f0
fild dword [0x781f094]
fcompp
fnstsw ax
test ah, 1
jne 0x77c62e8
fild dword [0x78191bc]
mov ecx, dword [0x781f088]
mov edx, dword [0x781f130]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push ecx
push edx
push 0x781eff0
call fcn.077bcc40
push eax
call fcn.077bf680
mov eax, dword [0x781f098]
test eax, eax
je 0x77c6362
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 1
push eax
push ecx
push edx
push 0x781eff0
call fcn.077b75f0
fild dword [0x781f09c]
fcompp
fnstsw ax
test ah, 1
jne 0x77c6362
fild dword [0x78191bc]
mov eax, dword [0x781f088]
mov ecx, dword [0x781f134]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push eax
push ecx
push 0x781eff0
call fcn.077bcc40
push eax
call fcn.077bf680
mov eax, dword [0x781f0a0]
test eax, eax
je 0x77c63dc
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 1
push edx
push eax
push ecx
push 0x781eff0
call fcn.077b75f0
fild dword [0x781f0a4]
fcompp
fnstsw ax
test ah, 0x41
jp 0x77c63dc
fild dword [0x78191bc]
mov edx, dword [0x781f088]
mov eax, dword [0x781f138]
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push edx
push eax
push 0x781eff0
call fcn.077bcc40
push eax
call fcn.077bf680
mov ecx, dword [0x781f088]
push ecx
push edi
call fcn.077c0000
test eax, eax
jne 0x77c6475
lea edx, [esp + 0xb0]
push edx
lea eax, [esp + 0x12c]
push eax
call fcn.077bdf20
lea ecx, [esp + 0xb0]
push 0x780b63c
push ecx
call fcn.077eb863
fild dword [0x78191bc]
add esp, 8
sub esp, 0x10
test eax, eax
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
jne 0x77c6457
mov edx, dword [0x781f088]
push edx
call fcn.077bfc00
jmp 0x77c6475
mov eax, dword [0x781f088]
push eax
lea ecx, [esp + 0xc4]
push ecx
push 0x781eff0
call fcn.077bcc40
push eax
call fcn.077bf680
mov eax, dword [0x781f118]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x77c6256
lea edx, [esp + 0xb0]
push edx
push eax
call fcn.077ec17f
add esp, 8
test eax, eax
je 0x77c6256
sub eax, dword [0x781f118]
sar eax, 1
test eax, eax
jne 0x77c6256
mov dword [esp + 0x64], 1
jmp 0x77c6256
push 0x780bb7c
lea eax, [esp + 0x12c]
push eax
call fcn.077bdf20
jmp 0x77c652f
push 0x780bb6c
lea ecx, [esp + 0x12c]
push ecx
call fcn.077bdf20
push esi
push esi
push 0x781eff0
call fcn.077b5720
push 0x64
call dword [0x7808360]
jmp 0x77c652f
push 0x780bb5c
lea edx, [esp + 0x12c]
push edx
call fcn.077bdf20
push esi
push esi
push 0x781eff0
call fcn.077b5720
push 0x64
push 0x781eff0
call fcn.077ac5b0
jmp 0x77c652f
push 0x781eff0
call fcn.077b7500
xor esi, esi
push 0x780bc20
lea eax, [esp + 0x12c]
push eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x6c], esi
call fcn.077bdf20
push 0x781eff0
call fcn.077b54a0
test eax, eax
je 0x77c6787
xor edi, edi
jmp 0x77c4f52
fild dword [0x781e868]
push 0
push 0
sub esp, 8
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077b75f0
fcomp qword [0x780a800]
fnstsw ax
test ah, 0x41
jne 0x77c6780
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd0
je 0x77c668b
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd1
je 0x77c668b
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xd2
je 0x77c668b
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xdd
je 0x77c668b
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xde
je 0x77c668b
push 0x781eff0
call fcn.077b2c70
cmp eax, 0xe0
je 0x77c668b
fild dword [0x781e86c]
push 0
sub esp, 0xc
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077bb760
push 0x12c
jmp 0x77c6791
push 0x781eff0
call fcn.077b00c0
test eax, eax
jne 0x77c6780
push eax
sub esp, 8
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push 0x781eff0
call fcn.077b7d00
push 0x12c
jmp 0x77c6791
push 0x780bb4c
jmp 0x77c6717
push 0x780bb3c
lea edx, [esp + 0x12c]
push edx
jmp 0x77c671f
push 0x780bb2c
lea eax, [esp + 0x12c]
push eax
jmp 0x77c671f
push 0x780bb1c
jmp 0x77c6717
push 0x780bb08
lea edx, [esp + 0x12c]
push edx
jmp 0x77c671f
push 0x780baf4
lea eax, [esp + 0x12c]
push eax
jmp 0x77c671f
push 0x780bae0
lea ecx, [esp + 0x12c]
push ecx
call fcn.077bdf20
push 0x780bacc
lea edx, [esp + 0x12c]
push edx
mov dword [0x781f10c], 0
call fcn.077bdf20
fild dword [0x78191bc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
sub esp, 0x10
fstp dword [esp + 0xc]
fild dword [0x781e86c]
fstp dword [esp + 8]
fild dword [0x781e868]
fstp dword [esp + 4]
fild dword [0x781e864]
fstp dword [esp]
push eax
push ecx
push edx
call fcn.077c0860
push 0x12c
jmp 0x77c6791
mov dword [esp + 0x6c], 1
push 0x64
push 0x781eff0
call fcn.077ac5b0
mov eax, dword [0x781effc]
test eax, eax
jne 0x77c4ed0
push 0
push 0x781eff0
call fcn.077ba6d0
mov ecx, dword [esp + 0x334]
xor eax, eax
call fcn.077eb5bd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4