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

Disassembly:
mov eax, 0x8da331
call fcn.00879bb8
sub esp, 0xc30
test byte [0x97bfd4], 1
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0xd8], ebx
jne 0x7a942a
mov ecx, dword [0x973a98]
or byte [0x97bfd4], 1
push 0x2f514c
call fcn.0064d61f
mov dword [0x97bfd0], eax
mov esi, dword [0x978368]
lea eax, [ebp - 0xec]
push eax
mov ecx, esi
mov dword [ebp - 0xdc], esi
call fcn.00455c59
cmp dword [ebp - 0xe8], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0xac], eax
je 0x7a9463
push 0
lea ecx, [ebp - 0xec]
call fcn.0045e7c2
lea eax, [esi + 0x209c]
lea edi, [esi + 0x2114]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x104], edi
call fcn.007d1e08
push dword [ebx + 0x4a4]
mov dword [ebp - 0xb8], eax
call fcn.0044dddc
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
test eax, eax
pop ecx
je 0x7a94a0
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
jmp 0x7a94a4
and dword [ebp - 0x10], 0
xor edx, edx
cmp eax, edx
je 0x7a94c7
mov ecx, dword [eax]
cmp ecx, 0x3ee1ab
je 0x7a94bc
cmp ecx, 0x40684b
jne 0x7a94c7
push 1
pop ecx
mov dword [ebp - 0x9c], ecx
jmp 0x7a94d0
push 1
mov dword [ebp - 0x9c], edx
pop ecx
cmp eax, edx
je 0x7a94e2
cmp dword [eax], 0x4e23ea
mov dword [ebp - 0xc4], ecx
je 0x7a94e8
mov dword [ebp - 0xc4], edx
cmp eax, edx
je 0x7a94f7
cmp dword [eax], 0x4f5c6e
mov dword [ebp - 0x34], ecx
je 0x7a94fa
mov dword [ebp - 0x34], edx
add esi, 0x3128
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], esi
cmp dword [ebp + 0x14], edx
mov dword [ebp - 4], edx
jne 0x7a951d
mov ecx, esi
call fcn.004133f0
jmp 0x7a9520
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebx + 0x52c]
and eax, 0xfffffffe
cmp eax, 0x12
jne 0x7a953c
or dword [ebp - 4], 0xffffffff
mov ecx, esi
jmp 0x7a9f4f
call fcn.00429303
mov eax, dword [eax + 0x108]
shr eax, 1
and eax, 1
mov dword [ebp - 0x54], eax
je 0x7a956c
cmp dword [ebp - 0x10], 0x2f9f6b
je 0x7a9531
cmp dword [ebp - 0x10], 0x31260b
je 0x7a9531
cmp dword [ebp - 0x10], 0x4f5c6e
je 0x7a9531
lea eax, [ebp - 0x88]
push eax
mov ecx, ebx
call fcn.00486ada
mov esi, dword [eax]
lea eax, [esi - 0xc]
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x7a9595
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x18], 0x2d
je 0x7a95a1
cmp dword [ebp - 0x18], 0x2e
jne 0x7a95b9
cmp dword [esi + 0x110], 0
jne 0x7a95b9
mov ecx, esi
call fcn.00614c6f
test eax, eax
je 0x7a9f45
cmp dword [ebp - 0x18], 0x2f
jne 0x7a95db
push dword [esi + 0x124]
lea eax, [esi + 0x11c]
push eax
call fcn.0048bb31
test eax, eax
pop ecx
pop ecx
jne 0x7a9f45
cmp dword [ebp - 0x18], 0x31
jne 0x7a95fd
push dword [esi + 0x124]
lea eax, [esi + 0x11c]
push eax
call fcn.0048bb31
test eax, eax
pop ecx
pop ecx
jne 0x7a9f45
mov ecx, esi
call fcn.00614c6f
test eax, eax
je 0x7a9624
push dword [esi + 0x124]
add esi, 0x11c
push esi
call fcn.0048bb31
test eax, eax
pop ecx
pop ecx
jne 0x7a9f45
cmp dword [ebp - 0x10], 0x4f5c6e
je 0x7a963f
cmp dword [ebp - 0x10], 0x4f837c
je 0x7a963f
cmp dword [ebp - 0x10], 0x4f837d
jne 0x7a966b
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x2474]
call fcn.004b8f25
test eax, eax
je 0x7a966b
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0x88]
jl 0x7a9f45
mov eax, dword [ebx + 0x4b0]
xor esi, esi
cmp dword [ebp - 0x9c], esi
mov dword [ebp - 0xfc], eax
je 0x7a979f
mov dword [ebp - 0x38], 0x47
push dword [edi + 0x2c0]
lea eax, [edi + 0x2b8]
push eax
call fcn.00413367
push dword [edi + 0x65c]
xor ecx, ecx
cmp eax, esi
setne cl
lea eax, [edi + 0x654]
push eax
mov dword [ebp - 0xcc], ecx
call fcn.00413367
push dword [edi + 0x434]
xor ecx, ecx
cmp eax, esi
setne cl
lea eax, [edi + 0x42c]
push eax
mov dword [ebp - 0x88], ecx
call fcn.00413367
xor ecx, ecx
add esp, 0x18
cmp eax, esi
setne cl
cmp dword [ebp - 0x10], 0x3eba9c
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xd4], ecx
je 0x7a974f
cmp dword [ebp - 0xcc], esi
jne 0x7a974f
cmp dword [ebp - 0x9c], esi
jne 0x7a974f
cmp dword [ebp - 0xc4], esi
jne 0x7a974f
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
call fcn.007a22a3
cmp eax, esi
mov dword [ebp - 0xf8], eax
je 0x7a9f45
mov ecx, ebx
call fcn.007a9222
test eax, eax
je 0x7a9770
cmp dword [ebp - 0x68], 0x1f6ee5
je 0x7a9770
cmp dword [ebp - 0x68], 0x1f6ee6
jne 0x7a9f45
cmp dword [ebp + 8], esi
je 0x7a9857
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
push dword [eax + 0x138]
add eax, 0x130
push eax
call fcn.00413367
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
jmp 0x7a985e
cmp dword [ebp - 0xc4], esi
je 0x7a97b3
mov dword [ebp - 0x38], 0x50
jmp 0x7a968c
cmp dword [ebp - 0x34], esi
je 0x7a97c4
mov dword [ebp - 0x38], 0x5a
jmp 0x7a968c
lea ecx, [ebx + 0x78]
call fcn.0043f79a
test eax, eax
je 0x7a97e5
cmp dword [ebp + 8], esi
jne 0x7a97e5
cmp dword [ebp - 0x18], 0x27
je 0x7a97e5
cmp dword [ebp - 0x18], 0x30
jne 0x7a9f45
push dword [ebp + 0x1c]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x18]
push dword [ebp - 0xfc]
call fcn.0065400c
add esp, 0x14
cmp eax, esi
mov dword [ebp - 0x38], eax
jge 0x7a968c
mov ecx, dword [ebp + 8]
cmp ecx, esi
je 0x7a9f45
push dword [ebp - 0x18]
call fcn.00653f88
test eax, eax
je 0x7a9f45
push 0x10d2
lea eax, [ebp + 8]
push eax
mov ecx, 0x97bc68
call fcn.00679d22
push 0xc
push eax
mov byte [ebp - 4], 1
call fcn.00471102
and byte [ebp - 4], 0
pop ecx
pop ecx
lea ecx, [ebp + 8]
call fcn.00414ebb
jmp 0x7a9f45
mov dword [ebp - 0x14], 1
push dword [edi + 0x20c]
mov esi, dword [edi + 0x968]
add edi, 0x204
push edi
call fcn.00413367
push dword [ebx + 0x4bc]
mov edi, eax
lea eax, [ebx + 0x78]
mov dword [ebp - 0xa0], eax
add eax, 0x43c
push eax
call fcn.00413367
add esp, 0x10
mov ecx, esi
mov dword [ebp + 0x1c], eax
call fcn.004c2648
push dword [eax]
push edi
push dword [ebp - 0x10]
push dword [ebp + 0x1c]
call fcn.00653336
push 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0x4a4]
push 1
push eax
push dword [ebp - 0xac]
call fcn.00652c29
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
add esp, 0x28
cmp eax, 0x2f9f6b
mov esi, 0x12c
je 0x7a9a0d
cmp eax, 0x31260b
je 0x7a9a0d
cmp eax, 0x4e23ea
je 0x7a9a0d
cmp eax, 0x4faa8f
je 0x7a9a0d
cmp eax, 0x4c4f2b
je 0x7a9a0d
cmp eax, 0x4f5c6e
je 0x7a9a0d
cmp eax, 0x4f7f90
je 0x7a9a0d
cmp eax, 0x4faa8c
je 0x7a9a0d
cmp eax, 0x4f837e
je 0x7a9a0d
cmp eax, 0x4fa6ab
je 0x7a9a0d
cmp eax, 0x4faa91
je 0x7a9a0d
mov eax, dword [ebp - 0x18]
cmp eax, 0x2d
je 0x7a99c5
cmp eax, 0x2e
je 0x7a99c5
cmp eax, 0x2f
jne 0x7a99b7
mov ecx, dword [0x973a98]
push 0x97bfc8
push 0x3d0901
push dword [ebp - 0xac]
mov dword [ebp - 0x30], 0xc8
call fcn.00650dae
test eax, eax
je 0x7a9a2e
mov ecx, dword [0x97bfc8]
push eax
call fcn.006509a1
push dword [eax + 0x1a4]
add eax, 0x19c
push eax
call fcn.00413367
pop ecx
pop ecx
add eax, 0xc8
jmp 0x7a9a2b
cmp eax, 0x31
jne 0x7a9a2e
mov dword [ebp - 0x30], 0xc8
jmp 0x7a9a2e
mov ecx, dword [0x973a98]
push 0x97bfcc
push 0x2dc6c2
push dword [ebp - 0xac]
mov dword [ebp - 0x30], esi
call fcn.00650dae
test eax, eax
je 0x7a9a2e
mov ecx, dword [0x97bfcc]
push eax
call fcn.006509a1
push dword [eax + 0x1a4]
add eax, 0x19c
push eax
call fcn.00413367
pop ecx
pop ecx
add eax, 0x12c
jmp 0x7a9a2b
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
push dword [eax + 0x1a4]
add eax, 0x19c
push eax
call fcn.00413367
pop ecx
pop ecx
mov dword [ebp - 0x30], eax
xor eax, eax
cmp dword [ebp - 0x9c], eax
je 0x7a9a3b
mov dword [ebp - 0x30], esi
cmp dword [ebp + 0x14], eax
mov dword [ebp + 0x1c], eax
je 0x7a9a46
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 0x52c]
and eax, 1
lea edi, [ebx + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 0x10]
sub eax, 0x1c
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0xbc], eax
je 0x7a9a82
neg ecx
cmp dword [ebp - 0x18], 0
mov edx, dword [ebp - 0xc0]
lea esi, [ecx + edx]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], eax
je 0x7a9a9c
neg ecx
add edx, ecx
cmp esi, edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x98], esi
jl 0x7a9ab4
mov dword [ebp - 0x98], edx
cmp edx, esi
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], esi
jl 0x7a9aca
mov dword [ebp - 0x90], edx
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x312609
lea edx, [eax + 1]
mov dword [ebp - 0x8c], edx
je 0x7a9c26
cmp ecx, 0x2f9f6b
je 0x7a9c26
cmp ecx, 0x31260b
je 0x7a9c26
cmp ecx, 0x3eba9d
jne 0x7a9b14
add edx, 0x24
push edx
push dword [ebp - 0x90]
add eax, 0xffffffdc
jmp 0x7a9c33
cmp ecx, 0x30d7ed
je 0x7a9c17
cmp ecx, 0x3ee1ab
je 0x7a9c17
cmp ecx, 0x40684b
je 0x7a9c17
cmp ecx, 0x2f785c
je 0x7a9b6c
cmp ecx, 0x30fefc
je 0x7a9b6c
cmp ecx, 0x4f5c69
je 0x7a9b6c
cmp ecx, 0x4f837c
je 0x7a9b6c
cmp ecx, 0x4f837d
je 0x7a9b6c
cmp ecx, 0x4faa90
jne 0x7a9c4a
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
add eax, 0x16c
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00411537
mov eax, dword [ebx + 0x52c]
pop ecx
lea esi, [ebx + 4]
pop ecx
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov edi, dword [eax + 4]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test byte [ebp - 0x20], 1
mov esi, dword [eax]
jne 0x7a9be1
mov eax, dword [ebp - 0x90]
neg eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x98]
neg eax
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.004459fe
pop ecx
pop ecx
push edi
push esi
lea eax, [ebp - 0x98]
push eax
call dword [0x97b54c]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x4faa90
jne 0x7a9c4a
test byte [ebx + 0x52c], 1
je 0x7a9c0f
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x5c], eax
jmp 0x7a9c4a
mov eax, dword [ebp - 0x90]
jmp 0x7a9c0a
add edx, 0xa
push edx
push dword [ebp - 0x90]
add eax, 0xfffffff6
jmp 0x7a9c33
add edx, 0x14
push edx
push dword [ebp - 0x90]
add eax, 0xffffffec
push eax
push dword [ebp - 0x98]
lea eax, [ebp - 0x98]
push eax
call dword [fcn.0097b504]
mov ecx, dword [ebp - 0x10]
xor esi, esi
mov dword [ebp - 0x6c], esi
cmp ecx, 0x30d7ed
mov byte [ebp - 4], 2
je 0x7a9ead
cmp ecx, 0x3eba9d
je 0x7a9ead
cmp ecx, 0x2f785c
je 0x7a9ead
cmp ecx, 0x30fefc
je 0x7a9ead
cmp ecx, 0x312609
je 0x7a9ead
cmp ecx, 0x2f9f6b
je 0x7a9ead
cmp ecx, 0x31260b
je 0x7a9ead
cmp ecx, 0x4f5c69
je 0x7a9ead
cmp ecx, 0x4faa90
je 0x7a9ead
cmp ecx, 0x4f837c
je 0x7a9ead
cmp ecx, 0x4f837d
je 0x7a9ead
cmp ecx, 0x3ee1ab
je 0x7a9ead
cmp ecx, 0x40684b
je 0x7a9ead
push ecx
mov dword [ebp - 0x140], esi
call fcn.0065439b
test eax, eax
pop ecx
jne 0x7a9d27
mov ecx, dword [0x97813c]
push 1
push 4
push dword [ebp - 0xbc]
push dword [ebp - 0x5c]
push dword [ebp - 0x64]
push dword [ebp - 0xc0]
call fcn.005d5804
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
cmp ecx, esi
jne 0x7a9d5d
mov ecx, dword [0x97813c]
push esi
push 4
push dword [ebp - 0xbc]
push dword [ebp - 0x5c]
push dword [ebp - 0x64]
push dword [ebp - 0xc0]
call fcn.005d5804
mov ecx, eax
cmp ecx, esi
mov dword [ebp - 0x140], ecx
je 0x7a9d80
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x44]
push eax
movsd dword es:[edi], dword [esi]
call fcn.005c5bbc
mov ecx, dword [eax]
mov dword [ebp - 0x5c], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 4]
mov esi, dword [0x978138]
lea ecx, [ebx + 4]
call dword [eax + 0x18]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0xbc]
mov ecx, esi
push dword [ebp - 0xc0]
call fcn.0086156f
test eax, eax
jne 0x7a9db9
xor esi, esi
mov dword [ebp - 0x140], esi
jmp 0x7a9dbb
xor esi, esi
mov ecx, dword [ebp - 0x140]
cmp ecx, esi
je 0x7a9ed1
lea eax, [ebp - 0x20]
push eax
mov dword [ebp + 0x1c], 1
call fcn.005cb50c
push dword [eax]
lea ecx, [ebp - 0x6c]
call fcn.0041bbcb
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x7a9df0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2f514d
je 0x7a9e36
cmp eax, 0x30fefb
je 0x7a9e36
cmp eax, 0x2f785b
je 0x7a9e36
cmp eax, 0x4e23ea
jne 0x7a9ed1
push dword [ebp - 0x18]
mov ecx, dword [0x97813c]
push dword [ebp - 0x14]
lea eax, [ebp - 0x140]
push eax
push dword [ebp - 0x140]
call fcn.005d5682
jmp 0x7a9ece
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
push eax
lea ecx, [ebp - 0x354]
call fcn.007a3fab
lea eax, [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 3
call fcn.00411537
pop ecx
pop ecx
push dword [ebp - 0x58]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x5c]
push eax
call dword [0x97b54c]
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x97813c]
push esi
push esi
push esi
push esi
push dword [ebp - 0x140]
dec eax
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.005d528b
inc eax
lea ecx, [ebp - 0x354]
mov dword [ebp + 0x1c], eax
mov byte [ebp - 4], 2
call fcn.006575e6
jmp 0x7a9ed1
mov ecx, dword [0x97813c]
push esi
push esi
push esi
push esi
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.005d528b
mov dword [ebp + 0x1c], eax
mov eax, dword [ebx + 0x1e64]
mov esi, 0x2f9f6c
cmp eax, esi
je 0x7a9f5b
cmp eax, 0x4faa8c
je 0x7a9f5b
mov edi, dword [ebp - 0xa0]
mov ecx, edi
call fcn.0043f6fe
cmp eax, 0xffffffff
jle 0x7a9f1a
mov eax, dword [ebp + 8]
test eax, eax
je 0x7a9f34
cmp dword [eax + 0xc], 3
jne 0x7a9f34
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
mov eax, dword [edi]
push 0
push 0x64
push 6
mov ecx, edi
call dword [eax + 0x10]
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
push dword [ebp - 0xd0]
push dword [ebp - 0x38]
call fcn.0078c1bd
test eax, eax
jne 0x7a9f61
mov eax, dword [ebp - 0x6c]
and byte [ebp - 4], 0
test eax, eax
je 0x7a9f45
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xa4]
call fcn.007a934b
xor eax, eax
jmp 0x7ab0f2
mov edi, dword [ebp - 0xa0]
cmp dword [ebp - 0x10], esi
je 0x7a9fcc
cmp dword [ebp - 0x10], 0x4faa8c
je 0x7a9fcc
mov eax, dword [ebx + 4]
lea esi, [ebx + 4]
mov ecx, esi
call dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebx + 0x1efc]
sub ecx, eax
cmp ecx, 0xfffffffa
jle 0x7aa007
cmp ecx, 6
jge 0x7aa007
mov ecx, dword [ebx + 0x1f00]
sub ecx, dword [ebp - 0x3c]
cmp ecx, 0xffffff6a
jle 0x7aa007
cmp ecx, 0x96
jge 0x7aa007
mov ecx, dword [ebx + 0x1f04]
cmp ecx, 0x64
lea eax, [ebx + 0x1f04]
jge 0x7a9f34
inc ecx
mov dword [eax], ecx
mov eax, dword [ebx + 0x1e64]
cmp eax, 0x2f9f6c
je 0x7aa01f
cmp eax, 0x4faa8c
je 0x7aa01f
xor eax, eax
cmp dword [ebp + 8], eax
je 0x7aa029
cmp dword [ebp - 0x34], eax
jne 0x7aa029
push 0x7fffffff
push eax
push dword [ebp - 0xd0]
mov ecx, ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00790b31
jmp 0x7aa029
and dword [ebx + 0x1f04], 0
mov dword [ebx + 0x1efc], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x1f00], eax
jmp 0x7a9fcc
mov dword [ebx + 0x528], 0x1388
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x64]
mov edx, ecx
imul edx, ecx
mov ecx, eax
imul ecx, eax
add edx, ecx
mov dword [ebp - 0x20], edx
push ecx
fild dword [ebp - 0x20]
push ecx
fstp qword [esp]
call fcn.0087af44
mov eax, dword [ebp - 0x38]
fstp qword [ebp - 0x44]
pop ecx
pop ecx
lea eax, [eax + eax*2]
mov ecx, edi
lea esi, [eax*8 + 0x978678]
call fcn.0043f6fe
xor ecx, ecx
cmp eax, 0xffffffff
setg cl
imul ecx, ecx, 0x3f4
mov eax, dword [ecx + edi + 0x4c4]
imul eax, dword [esi + 0x10]
cdq
idiv dword [esi + 0xc]
push eax
push dword [ebp + 8]
call fcn.0079d0da
pop ecx
pop ecx
push 0
mov ecx, edi
mov dword [ebp - 0x34], eax
call fcn.007a9209
push eax
push ecx
mov dword [ebp - 0x54], esp
mov edi, esp
push dword [ebp - 0x2c]
lea eax, [ebx + 0x4c0]
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
push eax
call fcn.004059fd
push dword [ebp + 0xc]
push dword [ebp + 8]
push edi
call fcn.007938b4
mov edi, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x34]
add esp, 0x14
push dword [ebp - 0x38]
add eax, edi
push dword [ebp - 0x18]
mov ecx, ebx
push eax
mov dword [ebp - 0x2c], eax
call fcn.0078ceed
cmp dword [ebp - 0x10], 0x4f5c6e
je 0x7aa100
cmp dword [ebp - 0x10], 0x4f837b
jle 0x7aa124
cmp dword [ebp - 0x10], 0x4f837d
jg 0x7aa124
push dword [ebp - 0x10]
call fcn.007a9287
add eax, dword [esi + 0xc]
pop ecx
add eax, edi
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x2474]
call fcn.004b8f75
xor edi, edi
cmp dword [ebp + 8], edi
je 0x7aa14b
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
push dword [eax + 0x114]
add eax, 0x10c
push eax
call fcn.00413367
pop ecx
pop ecx
jmp 0x7aa14d
xor eax, eax
push 1
pop ecx
cmp eax, ecx
mov dword [ebp - 0x74], eax
jg 0x7aa15a
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0xd4], edi
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x1c], ecx
je 0x7aa199
cmp dword [ebp - 0x10], 0x3ee1ab
je 0x7aa199
mov eax, dword [ebx + 0x52c]
and al, 1
neg al
mov dword [ebp - 0x1c], 2
sbb eax, eax
and eax, 0x3c
add eax, 0xffffffe2
add eax, dword [ebp - 0x64]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0x10], 0x4faa8f
je 0x7aa1ab
cmp dword [ebp - 0x10], 0x4faa90
jne 0x7aa1c0
mov eax, dword [ebx + 0x52c]
and al, 1
neg al
sbb eax, eax
and eax, 0xffffffc4
add eax, 0x1e
add dword [ebp - 0x64], eax
mov dword [ebp - 0x50], edi
mov ecx, dword [ebp + 8]
cmp ecx, edi
mov byte [ebp - 4], 4
je 0x7aa205
push dword [ebp + 0xc]
lea eax, [ebp - 0x20]
push eax
call fcn.007ab103
mov esi, eax
mov eax, dword [esi]
cmp eax, edi
je 0x7aa1ec
add eax, 8
push eax
call dword [sym.imp.kernel32.dll_InterlockedIncrement]
lea ecx, [ebp - 0x50]
call fcn.00402fa6
mov ecx, dword [ebp - 0x20]
cmp ecx, edi
mov eax, dword [esi]
mov dword [ebp - 0x50], eax
je 0x7aa205
call fcn.004030b1
mov esi, dword [ebp - 0x10]
cmp esi, 0x2f785c
je 0x7aa461
cmp esi, 0x30fefc
je 0x7aa461
cmp esi, 0x4e23ea
je 0x7aa461
cmp esi, 0x4f5c69
je 0x7aa461
cmp esi, 0x4f837d
je 0x7aa461
cmp esi, 0x4f837c
je 0x7aa461
fld qword [ebp - 0x44]
fmul qword [0x8ed708]
call fcn.0087ac9c
push 0
push esi
push dword [ebp - 0x68]
mov dword [ebp - 0x3c], eax
call fcn.0079d11c
mov edi, dword [ebp - 0x1c]
imul edi, dword [ebp - 0x74]
and dword [ebp - 0x24], 0
add esp, 0xc
test edi, edi
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x28], edi
jle 0x7aa461
mov edx, dword [ebp - 0x74]
and dword [ebp - 0x14], 0
imul edx, edx, 7
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x20], edx
jmp 0x7aa29d
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x14]
sub eax, edx
cmp dword [ebp - 0xcc], 0
lea eax, [eax + ecx + 7]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xe0], eax
jne 0x7aa3af
mov eax, dword [ebp - 0x10]
cmp eax, 0x3eba9c
je 0x7aa3af
cmp eax, 0x2f9f6c
je 0x7aa3af
cmp eax, 0x4faa8f
je 0x7aa3af
cmp eax, 0x4faa90
je 0x7aa3af
push eax
call fcn.0065439b
test eax, eax
pop ecx
jne 0x7aa3af
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jne 0x7aa316
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x64]
jl 0x7aa327
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xb0], eax
call fcn.007a9209
push eax
push ecx
lea eax, [ebp - 0x50]
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.004059fd
lea ecx, [ebx + 0xd3c]
mov byte [ebp - 4], 7
call fcn.00424e27
mov ecx, eax
call fcn.004320e3
push eax
push ecx
lea eax, [ebp - 0x6c]
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.00433bdf
push dword [ebp - 0xe0]
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0xe4]
add eax, esi
push dword [ebp - 0xb0]
mov byte [ebp - 4], 4
push dword [ebp - 0xb4]
push eax
push esi
call fcn.00424e82
mov ecx, eax
call fcn.00427b7d
jmp 0x7aa44e
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x7aa3c3
mov eax, dword [eax]
test eax, eax
je 0x7aa3c3
mov eax, dword [eax - 4]
shr eax, 1
jmp 0x7aa3c5
xor eax, eax
test eax, eax
jne 0x7aa3d3
mov eax, dword [0x97bfd0]
lea edx, [eax + 0x64]
jmp 0x7aa3d6
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x64]
jl 0x7aa3e7
mov edi, dword [ebp - 0xec]
mov eax, dword [ebp - 0x60]
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0xf4], esp
push edx
mov dword [ebp - 0x40], eax
call fcn.004059fd
lea ecx, [ebx + 0xd3c]
mov byte [ebp - 4], 5
call fcn.00424e27
mov ecx, eax
call fcn.004320e3
push eax
push ecx
lea eax, [ebp - 0x6c]
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.00433bdf
push dword [ebp - 0xe0]
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0xe4]
add eax, esi
push dword [ebp - 0x40]
mov byte [ebp - 4], 4
push edi
push eax
push esi
call fcn.00424e82
mov ecx, eax
call fcn.00427cd1
mov edi, dword [ebp - 0x28]
inc dword [ebp - 0x24]
add dword [ebp - 0x14], 0xe
add esi, dword [ebp - 0x54]
cmp dword [ebp - 0x24], edi
jl 0x7aa29a
xor eax, eax
cmp dword [ebp + 8], eax
je 0x7aa486
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
push dword [eax + 0x108]
add eax, 0x100
push eax
call fcn.00413367
pop ecx
pop ecx
push 1
pop ecx
cmp eax, ecx
mov dword [ebp - 0x3c], eax
jg 0x7aa493
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x74]
push 0xf
pop ecx
cmp eax, ecx
mov dword [ebp - 0x24], eax
jl 0x7aa4ab
mov dword [ebp - 0x24], ecx
cmp dword [ebp + 0x1c], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x100], eax
jle 0x7aa621
lea eax, [ebp - 0x140]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1c], 0x78
lea ebx, [ebp - 0xc34]
mov dword [ebp - 0x28], eax
push 0x98
lea esi, [ebx - 8]
push 0
push esi
call fcn.0087a060
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
add esp, 0xc
mov dword [esi], ecx
call fcn.005c9cb2
mov ecx, dword [esi]
push 0
mov dword [ebx - 4], eax
call fcn.005c634c
mov ecx, dword [esi]
mov dword [ebx], eax
call fcn.0067d28e
mov ecx, dword [ebx - 8]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 4], eax
lea eax, [ebp - 0x44]
push eax
movsd dword es:[edi], dword [esi]
call fcn.005c5bbc
cmp dword [ebp - 0x10], 0x2f514d
mov ecx, dword [eax]
mov dword [ebx + 0x88], ecx
mov eax, dword [eax + 4]
mov dword [ebx + 0x8c], eax
jne 0x7aa560
cmp dword [ebp - 0x1c], 0x78
je 0x7aa5d3
mov eax, dword [ebp - 0xc2c]
add eax, 0xc8
jmp 0x7aa601
mov eax, dword [ebp - 0x10]
cmp eax, 0x30fefb
je 0x7aa571
cmp eax, 0x2f785b
jne 0x7aa586
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x78
je 0x7aa586
mov eax, dword [ebp - 0xc2c]
add ecx, eax
mov dword [ebx + 8], ecx
jmp 0x7aa604
cmp eax, 0x2f785c
je 0x7aa5f9
cmp eax, 0x30fefc
je 0x7aa5f9
cmp eax, 0x4e23ea
jne 0x7aa5d3
xor eax, eax
cmp dword [ebp - 0x1c], 0x78
je 0x7aa5a9
mov eax, dword [ebp - 0x14]
mov eax, dword [eax - 4]
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x100]
push ecx
push dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd8]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebx - 8]
push eax
call fcn.0079d183
jmp 0x7aa604
mov eax, dword [ebx + 0x88]
sub eax, dword [ebp - 0x64]
push eax
call fcn.0087a90a
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
pop ecx
fmul qword [0x8ed708]
fiadd dword [ebp - 0x34]
call fcn.0087ac9c
jmp 0x7aa601
mov eax, dword [ebp - 0x34]
add eax, 0x190
mov dword [ebx + 8], eax
add dword [ebp - 0x1c], 0x1e
add dword [ebp - 0x14], 4
add ebx, 0x98
dec dword [ebp - 0x28]
jne 0x7aa4da
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x10]
sub eax, 0x2f785b
je 0x7aa7b2
dec eax
je 0x7aa6f0
sub eax, 0x1869f
je 0x7aa7b2
dec eax
jne 0x7aa898
mov edi, dword [ebp + 0x1c]
test edi, edi
je 0x7aa8b3
jle 0x7aa8b3
lea esi, [ebp - 0x140]
mov ecx, dword [esi]
push 0
lea eax, [ebp - 0x4c]
push eax
call fcn.005c5b12
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
sub eax, ecx
cmp eax, 0x96
jge 0x7aa68f
cdq
sub eax, edx
sar eax, 1
lea ecx, [ecx + eax - 0x4b]
mov dword [ebp - 0x4c], ecx
push 0x4b
pop ecx
sub ecx, eax
add dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + 8]
add eax, 0xfffffff6
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x28]
push eax
call fcn.0040f150
mov eax, dword [eax]
test eax, eax
mov byte [ebp - 4], 0xc
je 0x7aa6b2
mov eax, dword [eax]
jmp 0x7aa6b4
xor eax, eax
push dword [ebp - 0xc2c]
lea ecx, [ebp - 0x4c]
push ecx
push dword [ebp - 0x18]
mov ecx, dword [0x97810c]
push eax
call fcn.00427eb9
mov ecx, dword [ebp - 0x28]
test ecx, ecx
mov byte [ebp - 4], 4
je 0x7aa6e1
call fcn.004030b1
and dword [ebp - 0x28], 0
add esi, 4
dec edi
jne 0x7aa65f
jmp 0x7aa898
cmp dword [ebp + 0x1c], 0
je 0x7aa8b3
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
add eax, 0x16c
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00411537
mov eax, dword [ebx + 0x52c]
pop ecx
lea esi, [ebx + 4]
pop ecx
mov dword [ebp - 0x54], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov edi, dword [eax + 4]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test byte [ebp - 0x54], 1
mov esi, dword [eax]
jne 0x7aa75a
mov eax, dword [ebp - 0x44]
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
neg eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004459fe
pop ecx
pop ecx
push edi
push esi
lea eax, [ebp - 0x4c]
push eax
call dword [0x97b54c]
mov ecx, dword [ebp + 8]
mov eax, 0xfa
sub dword [ebp - 0x48], eax
sub dword [ebp - 0x40], eax
lea eax, [ebp - 0x20]
push eax
call fcn.0040f150
mov eax, dword [eax]
test eax, eax
mov byte [ebp - 4], 0xb
je 0x7aa78b
mov eax, dword [eax]
jmp 0x7aa78d
xor eax, eax
push dword [ebp - 0xc2c]
lea ecx, [ebp - 0x4c]
push ecx
push dword [ebp - 0x18]
mov ecx, dword [0x97810c]
push eax
call fcn.00427eb9
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 4
jmp 0x7aa88f
cmp dword [ebp + 0x1c], 0
je 0x7aa898
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
add eax, 0x16c
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00411537
pop ecx
pop ecx
push dword [ebp - 0x58]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x5c]
push eax
call dword [0x97b54c]
cmp dword [ebp - 0x10], 0x2f785b
jne 0x7aa848
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
call fcn.00424619
mov eax, dword [eax]
test eax, eax
mov byte [ebp - 4], 9
je 0x7aa80b
mov eax, dword [eax]
jmp 0x7aa80d
xor eax, eax
push 0
push 0xff
push 0x80
push 0x1f4
push dword [ebp - 0xc2c]
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [0x97810c]
push eax
call fcn.00428a3e
mov ecx, dword [ebp - 0x14]
test ecx, ecx
mov byte [ebp - 4], 4
je 0x7aa848
call fcn.004030b1
and dword [ebp - 0x14], 0
mov ecx, dword [ebp + 8]
sub dword [ebp - 0x48], 0x32
sub dword [ebp - 0x40], 0xaa
lea eax, [ebp - 0x2c]
push eax
call fcn.0040f150
mov eax, dword [eax]
test eax, eax
mov byte [ebp - 4], 0xa
je 0x7aa86d
mov eax, dword [eax]
jmp 0x7aa86f
xor eax, eax
push dword [ebp - 0xc2c]
lea ecx, [ebp - 0x4c]
push ecx
push dword [ebp - 0x18]
mov ecx, dword [0x97810c]
push eax
call fcn.00427eb9
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 4
test ecx, ecx
je 0x7aa898
call fcn.004030b1
cmp dword [ebp - 0x10], 0x2f514d
je 0x7aa8ce
cmp dword [ebp - 0x10], 0x30fefb
je 0x7aa8ce
cmp dword [ebp - 0x10], 0x2f785b
je 0x7aa8ce
push dword [ebp + 0x1c]
lea eax, [ebp - 0xc3c]
push eax
xor eax, eax
cmp dword [ebp - 0x18], eax
sete al
push eax
call fcn.007a9375
add esp, 0xc
and dword [ebp - 0x1c], 0
cmp dword [ebp + 0x1c], 0
jle 0x7aa990
mov eax, dword [ebp - 0xdc]
add eax, 0x3024
mov dword [ebp - 0xdc], eax
lea esi, [ebp - 0xc24]
mov eax, dword [esi - 0x18]
push dword [eax + 0x158]
mov edi, dword [ebx + 0x4a4]
add eax, 0x150
push eax
call fcn.004b8c9b
pop ecx
pop ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push dword [ebp + 0x18]
lea ecx, [esi + 0x3c]
push ecx
push esi
push dword [ebp + 0xc]
mov ecx, dword [esi - 0x18]
push dword [ebp + 8]
add ecx, 0x170
push dword [ebp - 0xd4]
push dword [ebp - 0x38]
push 1
push dword [ebp - 0x68]
push edi
push dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0xdc]
push eax
push dword [ebp - 0x104]
push dword [ebp - 0x70]
push dword [ebp - 0xac]
call fcn.0066c1d7
cmp dword [ebp + 8], 0
je 0x7aa975
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
push 0
push esi
push edi
push dword [ebp + 0xc]
call fcn.0064cf49
test eax, eax
jne 0x7aa98c
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add esi, 0x98
cmp eax, dword [ebp + 0x1c]
jl 0x7aa8f3
jmp 0x7aa990
inc edi
mov dword [ebp + 0x1c], edi
push dword [ebp - 0xc8]
mov eax, dword [ebx + 0x4a4]
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0xc3c]
push ecx
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x188]
push dword [ebp - 0x38]
push eax
push dword [ebp + 0xc]
push esi
call fcn.0064ba86
xor ecx, ecx
cmp esi, ecx
mov byte [ebp - 4], 0xd
je 0x7aa9db
mov eax, dword [esi]
cmp eax, 0x3d0cea
je 0x7aa9d6
cmp eax, 0x4faa91
jne 0x7aa9db
mov dword [ebp - 0x20], ecx
jmp 0x7aa9e2
mov dword [ebp - 0x20], 1
cmp dword [ebp + 0x1c], ecx
mov dword [ebp - 0x1c], ecx
jle 0x7aabc4
lea esi, [ebp - 0xc38]
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x24], 0
jle 0x7aabaf
lea edi, [esi + 0x14]
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x14]
cdq
idiv dword [ebp - 0x3c]
and dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 1
shl eax, 1
sub eax, dword [ebp - 0x74]
inc eax
imul eax, eax, 7
add dword [ebp - 0xb0], eax
cmp dword [ebp - 0x10], 0x2f9f6b
je 0x7aaa54
cmp dword [ebp - 0x10], 0x31260b
jne 0x7aaafe
cmp dword [edi], 0
jle 0x7aaafe
mov ecx, dword [esi - 4]
call fcn.005cdcb1
test eax, eax
jne 0x7aaafe
mov ecx, dword [esi - 4]
call fcn.005ca1ff
test eax, eax
jne 0x7aaafe
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
push dword [eax + 0xfc]
add eax, 0xf4
push eax
call fcn.00413367
pop ecx
pop ecx
mov ecx, 0x979568
mov dword [ebp - 0x70], eax
call fcn.004133f0
push 0x64
xor edx, edx
pop ecx
div ecx
cmp edx, dword [ebp - 0x70]
jbe 0x7aaafe
test byte [ebx + 0x52c], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], 4
je 0x7aaac9
neg eax
mov ecx, 0x979568
mov dword [ebp - 0x28], eax
call fcn.004133f0
push 0x14
xor edx, edx
pop ecx
div ecx
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x70], edx
call dword [eax + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x70]
mov ebx, dword [ebp - 0xd8]
lea eax, [ecx + eax - 0xa]
mov dword [ebp - 0x28], eax
mov eax, dword [esi - 4]
mov eax, dword [eax + 0x15c]
push dword [eax + 0x1ac]
add eax, 0x1a4
push eax
call fcn.00413367
test eax, eax
pop ecx
pop ecx
jle 0x7aab25
cmp dword [edi], 0
jle 0x7aab25
mov dword [edi], eax
mov eax, dword [esi - 4]
push dword [ebp - 0x10]
mov ecx, dword [eax + 0x15c]
call fcn.005dcae0
test eax, eax
jne 0x7aab3c
and dword [edi], eax
push 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc8]
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
push ecx
mov eax, esp
mov dword [ebp - 0xf4], esp
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x188]
push eax
call fcn.0067d25d
push dword [ebp - 0xb0]
mov eax, dword [esi + 0xc]
push dword [ebp - 0xb4]
add eax, dword [ebp - 0xb8]
push dword [ebp - 0x14]
mov ecx, ebx
push dword [edi + 0x3c]
push dword [edi]
push dword [ebp - 0x18]
push dword [esi]
push eax
push dword [ebp - 0x10]
call fcn.0067e5d1
mov ecx, dword [esi - 4]
push eax
call fcn.005cbf42
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
add edi, 4
cmp eax, dword [ebp - 0x24]
jl 0x7aaa05
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add esi, 0x98
cmp eax, dword [ebp + 0x1c]
jl 0x7aa9f4
xor edi, edi
push edi
push edi
push 0x2a
lea ecx, [ebp - 0x84]
call fcn.0060142b
mov byte [ebp - 4], 0xe
call fcn.00429303
mov al, byte [eax + 0xf8]
mov byte [ebp - 0x70], al
push dword [ebp - 0x70]
lea ecx, [ebp - 0x84]
call fcn.00457cda
xor eax, eax
mov al, byte [ebp + 0x1c]
shl al, 4
or al, byte [ebp - 0x24]
lea ecx, [ebp - 0x84]
push eax
call fcn.00457cda
push dword [ebp - 0x10]
lea ecx, [ebp - 0x84]
call fcn.00457d37
mov ecx, dword [ebp - 0x10]
mov eax, 0x236a69
cmp ecx, eax
jg 0x7aac52
je 0x7aac7a
cmp ecx, 0x111ae9
je 0x7aac7a
cmp ecx, 0x12a189
je 0x7aac7a
cmp ecx, 0x142829
je 0x7aac7a
cmp ecx, 0x205d29
je 0x7aac7a
cmp ecx, 0x21e3c9
je 0x7aac7a
jmp 0x7aac88
cmp ecx, 0x2f9f6c
je 0x7aac7a
cmp ecx, 0x312609
je 0x7aac7a
cmp ecx, 0x4dd5cc
je 0x7aac7a
cmp ecx, 0x4f5c6a
je 0x7aac7a
cmp ecx, 0x4faa8c
jne 0x7aac88
push dword [ebp + 0x18]
lea ecx, [ebp - 0x84]
call fcn.00457d37
xor eax, eax
mov al, byte [ebp - 0x88]
shl al, 3
or al, byte [ebp - 0xd4]
lea ecx, [ebp - 0x84]
shl al, 1
or al, byte [ebp + 0x14]
shl al, 1
or al, byte [ebp - 0xcc]
shl al, 1
push eax
call fcn.00457cda
mov eax, dword [ebp - 0x38]
mov cl, byte [ebp - 0x18]
and al, 0x7f
shl cl, 7
or al, cl
lea ecx, [ebp - 0x84]
push eax
call fcn.00457cda
push dword [ebp - 0xfc]
lea ecx, [ebp - 0x84]
call fcn.00457cda
push dword [ebp - 0xd0]
lea ecx, [ebp - 0x84]
call fcn.00457cda
call fcn.007d1e08
push eax
lea ecx, [ebp - 0x84]
call fcn.00457d37
push dword [ebp - 0xf8]
lea ecx, [ebp - 0x84]
call fcn.0045d247
push dword [ebp - 0xf0]
lea ecx, [ebp - 0x84]
call fcn.0045d247
push dword [ebp + 0x10]
lea ecx, [ebp - 0x84]
call fcn.00457cda
cmp dword [ebp - 0x10], 0x3eba9c
je 0x7aad5f
cmp dword [ebp - 0x9c], edi
jne 0x7aad5f
cmp dword [ebp - 0xc4], edi
jne 0x7aad5f
cmp dword [ebp - 0x88], edi
je 0x7aad5f
push dword [ebp - 0x68]
lea ecx, [ebp - 0x84]
call fcn.00457d37
mov eax, dword [ebp + 0x1c]
cmp eax, edi
jle 0x7aaef7
lea esi, [ebp - 0xc3c]
mov dword [ebp + 0x14], eax
mov eax, dword [esi]
push dword [eax + 0x158]
add eax, 0x150
push eax
call fcn.004b8c9b
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x84]
call fcn.00457d37
xor eax, eax
mov al, byte [esi + 4]
lea ecx, [ebp - 0x84]
push eax
call fcn.00457cda
mov ecx, dword [esi]
call fcn.005c5474
mov cl, byte [esi + 8]
shl al, 7
and cl, 0x7f
or al, cl
lea ecx, [ebp - 0x84]
push eax
call fcn.00457cda
xor eax, eax
mov al, byte [esi + 0xc]
lea ecx, [ebp - 0x84]
push eax
call fcn.00457cda
mov eax, dword [esi]
cmp dword [eax + 0x274], edi
je 0x7aade8
mov ecx, dword [eax + 0x160]
cmp ecx, edi
jne 0x7aadf2
mov ecx, dword [eax + 0x15c]
cmp ecx, edi
je 0x7aae19
cmp dword [eax + 0x274], edi
mov edx, dword [eax + 0x15c]
je 0x7aae0a
mov ecx, dword [eax + 0x160]
cmp ecx, edi
jne 0x7aae10
mov ecx, dword [eax + 0x15c]
cmp edx, ecx
je 0x7aae19
push 1
pop ecx
jmp 0x7aae1b
xor ecx, ecx
mov eax, dword [eax + 0x444]
shl cl, 7
and al, 0x7f
or cl, al
push ecx
lea ecx, [ebp - 0x84]
call fcn.00457cda
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
add ecx, 4
call dword [eax + 0x10]
mov ax, word [eax]
lea ecx, [ebp - 0x84]
push eax
call fcn.0045d247
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
add ecx, 4
call dword [eax + 0x10]
mov ax, word [eax + 4]
lea ecx, [ebp - 0x84]
push eax
call fcn.0045d247
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
add ecx, 4
call dword [eax + 0x14]
mov ax, word [eax]
lea ecx, [ebp - 0x84]
push eax
call fcn.0045d247
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
add ecx, 4
call dword [eax + 0x14]
mov ax, word [eax + 4]
lea ecx, [ebp - 0x84]
push eax
call fcn.0045d247
xor eax, eax
mov ax, word [esi + 0x10]
lea ecx, [ebp - 0x84]
push eax
call fcn.0045d247
cmp dword [ebp - 0x24], edi
jle 0x7aaed5
mov eax, dword [ebp - 0x24]
lea edi, [esi + 0x18]
mov dword [ebp + 0x10], eax
push dword [edi]
lea ecx, [ebp - 0x84]
call fcn.00457d37
add edi, 4
dec dword [ebp + 0x10]
jne 0x7aaebe
xor edi, edi
mov ecx, dword [esi]
call fcn.005d0a74
push eax
lea ecx, [ebp - 0x84]
call fcn.00457d37
add esi, 0x98
dec dword [ebp + 0x14]
jne 0x7aad73
mov eax, dword [ebx + 4]
lea edi, [ebx + 4]
mov ecx, edi
call dword [eax + 0x10]
mov ax, word [eax]
lea ecx, [ebp - 0x84]
push eax
call fcn.0045d247
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
mov ax, word [eax + 4]
lea ecx, [ebp - 0x84]
push eax
call fcn.0045d247
mov ecx, dword [0x9784c4]
lea eax, [ebp - 0x84]
push eax
call fcn.004751b2
mov ecx, ebx
call fcn.007b4235
cmp dword [ebp + 8], 0
je 0x7aaf8d
mov esi, dword [ebp - 0xa0]
mov ecx, esi
call fcn.0043f6fe
xor ecx, ecx
cmp eax, 0xffffffff
setg cl
push 3
imul ecx, ecx, 0x3f4
mov eax, dword [ecx + esi + 0x4c4]
sub eax, dword [ebp - 0x34]
pop ecx
cdq
idiv ecx
mov ecx, ebx
add eax, dword [ebp - 0x34]
push eax
push dword [ebp - 0x10]
mov eax, dword [ebp + 8]
add eax, 0x30
push eax
push dword [ebp - 0xac]
call fcn.007acb52
cmp dword [ebp - 0x10], 0x4f5c6e
jne 0x7ab098
cmp dword [ebp + 0xc], 0
jle 0x7ab098
mov esi, dword [ebx + 0xd74]
lea eax, [esi - 0xc]
neg esi
sbb esi, esi
and esi, eax
push 0xd
mov ecx, esi
mov dword [ebx + 0x1ed4], 1
call fcn.004e98b7
mov ebx, dword [ebx + 0x52c]
mov eax, dword [ebp + 0xc]
push 4
test bl, 1
mov ecx, 0xffffff06
cdq
pop ebx
je 0x7aafee
idiv ebx
lea edx, [eax + eax*4]
lea edx, [edx*8 + 0xfa]
mov dword [ebp + 0xc], edx
jmp 0x7aaffd
idiv ebx
mov ebx, ecx
lea edx, [eax + eax*4]
shl edx, 3
sub ebx, edx
mov dword [ebp + 0xc], ebx
lea eax, [eax + eax*4]
shl eax, 2
sub ecx, eax
push ecx
mov dword [ebp + 0x10], ecx
fild dword [ebp + 0x10]
push ecx
fstp qword [esp]
push ecx
fild dword [ebp + 0xc]
push ecx
mov ecx, esi
fstp qword [esp]
call fcn.0067db5b
push 0xc00614a4
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push 0
call fcn.00424e0a
mov eax, dword [edi]
mov ecx, edi
mov byte [ebp - 4], 0xf
call dword [eax + 0x10]
push dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
push dword [eax]
push ecx
mov ecx, esp
mov dword [ebp + 0x14], esp
push 0
call fcn.00424dd7
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.00790038
mov esi, eax
mov ecx, dword [ebp - 0xa0]
mov byte [ebp - 4], 0x12
call fcn.0043f900
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, esi
call fcn.004091f9
push eax
call fcn.00424e82
mov ecx, eax
call fcn.0042b613
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x7ab098
call fcn.004030b1
and dword [ebp - 0xa8], 0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xd
call fcn.0045ebca
push fcn.00403621
push 0xf
push 4
lea eax, [ebp - 0x17c]
push eax
mov byte [ebp - 4], 0x13
call fcn.0087a0b8
mov ecx, dword [ebp - 0x50]
test ecx, ecx
mov dword [ebp - 0x188], 0x8e84a0
je 0x7ab0de
call fcn.004030b1
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x6c]
and byte [ebp - 4], 0
test eax, eax
je 0x7ab0ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 1
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x18