Function at 0x7a71f1
Capabilities:
Encode data using base64

Disassembly:
mov eax, 0x8da278
call fcn.00879bb8
sub esp, 0xbe0
test byte [0x97bfdc], 1
push ebx
push esi
push edi
mov ebx, ecx
jne 0x7a722b
mov ecx, dword [0x973a98]
or byte [0x97bfdc], 1
push 0xf462d
call fcn.0064d61f
mov dword [0x97bfd8], eax
mov eax, dword [ebp + 8]
xor edi, edi
cmp eax, edi
je 0x7a723b
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
jmp 0x7a723e
mov dword [ebp - 0x10], edi
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x7a724b
mov dword [eax], 0x41
mov esi, dword [0x978368]
lea eax, [ebp - 0x94]
push eax
mov ecx, esi
mov dword [ebp - 0x44], esi
call fcn.00455c59
cmp dword [ebp - 0x90], edi
mov eax, dword [eax + 4]
mov dword [ebp - 0x68], eax
je 0x7a7282
push edi
lea ecx, [ebp - 0x94]
call fcn.0045e7c2
mov dword [ebp - 0x90], edi
push dword [esi + 0x24b8]
lea edi, [esi + 0x2114]
lea eax, [edi + 0x39c]
push eax
call fcn.00413367
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setne cl
and dword [ebp - 0xb4], 0
add esi, 0x3128
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x6c], ecx
and dword [ebp - 4], 0
mov ecx, esi
call fcn.004133f0
push dword [ebx + 0x4a4]
mov dword [ebp - 0x34], eax
call fcn.0044dddc
pop ecx
mov dword [ebp - 0x74], eax
call fcn.007d1e08
mov ecx, ebx
mov dword [ebp - 0x40], eax
call fcn.007a9222
test eax, eax
jne 0x7a7d86
mov eax, dword [ebx + 0x52c]
and eax, 0xfffffffe
cmp eax, 0x12
je 0x7a7d86
mov esi, dword [ebx + 0xd74]
lea eax, [esi - 0xc]
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [ebp - 0x10]
cmp eax, 0x4f5c6a
je 0x7a733b
push dword [esi + 0x124]
lea eax, [esi + 0x11c]
push eax
call fcn.0048bb31
test eax, eax
pop ecx
pop ecx
jne 0x7a7d86
mov eax, dword [ebp - 0x10]
cmp eax, 0x14011e
je 0x7a7396
cmp eax, 0x406849
je 0x7a7396
cmp eax, 0x40684f
je 0x7a7396
cmp eax, 0x111aee
je 0x7a7396
cmp eax, 0x12a18f
je 0x7a7396
cmp eax, 0x14282b
je 0x7a7396
cmp eax, 0x4e23ec
je 0x7a7396
cmp eax, 0x4dfcde
je 0x7a7396
cmp eax, 0x4dd5ca
je 0x7a7396
cmp eax, 0x4faa8b
je 0x7a7396
cmp eax, 0x4e23e9
je 0x7a7396
cmp eax, 0x4e23ed
je 0x7a7396
cmp eax, 0x4e23ef
jne 0x7a73a3
cmp dword [esi + 0x110], 0
je 0x7a7d86
call fcn.00429303
mov eax, dword [eax + 0x108]
shr eax, 1
and eax, 1
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x10]
mov ecx, 0x4dd5cc
je 0x7a7423
cmp eax, 0x40413a
je 0x7a7d86
cmp eax, 0x406849
je 0x7a7d86
cmp eax, 0x111aee
je 0x7a7d86
cmp eax, 0x12a18f
je 0x7a7d86
cmp eax, 0x14282b
je 0x7a7d86
cmp eax, 0x3ee1b0
je 0x7a7d86
cmp eax, 0x4dd5ca
je 0x7a7d86
cmp eax, ecx
je 0x7a7d86
cmp eax, 0x4e23ed
je 0x7a7d86
cmp eax, 0x111aee
je 0x7a7443
cmp eax, 0x12a18f
je 0x7a7443
cmp eax, 0x14282b
je 0x7a7443
cmp eax, 0x4dd5ca
je 0x7a7443
cmp eax, ecx
jne 0x7a7452
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [ebx + 0x1ec8]
jl 0x7a7d86
mov esi, 0x40684f
cmp eax, esi
jne 0x7a7469
cmp dword [ebx + 0x17b4], 0
je 0x7a7470
jmp 0x7a7d86
cmp eax, 0x4f5c6a
je 0x7a7496
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x2474]
call fcn.004b8f25
test eax, eax
je 0x7a7493
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x38]
jl 0x7a7d86
mov eax, dword [ebp - 0x10]
cmp eax, 0x40413a
je 0x7a74b1
cmp dword [ebp + 0x14], 0x406849
je 0x7a74b1
cmp eax, esi
je 0x7a74b1
cmp eax, 0x4dfcde
jne 0x7a74d0
lea eax, [ebp - 0xb0]
push eax
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
call fcn.007bcbcf
test eax, eax
je 0x7a7d86
mov eax, dword [ebp - 0x10]
cmp dword [ebp + 0x14], 0x406849
mov esi, dword [ebx + 0x4b0]
mov dword [ebp - 0xa8], esi
jne 0x7a759c
mov dword [ebp - 0x2c], 0x3a
mov eax, dword [edi + 0x968]
push dword [edi + 0x20c]
add edi, 0x204
push edi
mov dword [ebp - 0x38], eax
call fcn.00413367
push dword [ebx + 0x4bc]
lea esi, [ebx + 0x78]
mov edi, eax
lea eax, [esi + 0x43c]
push eax
call fcn.00413367
mov ecx, dword [ebp - 0x38]
add esp, 0x10
mov dword [ebp - 0x70], eax
call fcn.004c2648
push dword [eax]
push edi
push dword [ebp - 0x10]
push dword [ebp - 0x70]
call fcn.00653336
xor edi, edi
push edi
mov dword [ebp - 0x8c], eax
mov eax, dword [ebx + 0x52c]
push edi
push dword [ebp - 0x10]
and eax, 1
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x4a4]
push edi
push eax
push dword [ebp - 0x68]
call fcn.00652c29
add esp, 0x28
cmp dword [ebp + 8], edi
je 0x7a770f
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xc], 3
jne 0x7a770f
cmp dword [ebx + 0x1e70], 0xf462d
jne 0x7a770f
mov dword [ebp - 0x78], 1
jmp 0x7a7714
cmp eax, 0x111af0
jne 0x7a7604
mov eax, dword [ebp - 0x74]
cmp eax, 0x1e
je 0x7a75f8
cmp eax, 0x1f
je 0x7a75f8
cmp eax, 0x28
je 0x7a75ec
cmp eax, 0x29
je 0x7a75ec
push 0xad4
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 0x7a7d86
mov dword [ebp - 0x2c], 0x3e
jmp 0x7a74f0
mov dword [ebp - 0x2c], 0x3d
jmp 0x7a74f0
cmp eax, 0x12a193
jne 0x7a7617
mov dword [ebp - 0x2c], 0x3f
jmp 0x7a74f0
cmp eax, 0x12a191
jne 0x7a762a
mov dword [ebp - 0x2c], 0x45
jmp 0x7a74f0
mov eax, dword [ebx + 0x52c]
and eax, 0xfffffffe
cmp eax, 0xa
jne 0x7a765c
cmp dword [ebp + 0x20], 0
jne 0x7a765c
cmp dword [ebp + 8], 0
jne 0x7a7d86
test esi, esi
je 0x7a7d86
mov dword [ebp - 0x2c], 0x20
jmp 0x7a74f0
lea ecx, [ebx + 0x78]
call fcn.0043f79a
test eax, eax
je 0x7a76a7
cmp dword [ebp + 8], 0
jne 0x7a76a7
cmp dword [ebp - 0x74], 0x27
je 0x7a76a7
cmp dword [ebp - 0x74], 0x30
je 0x7a76a7
push 0x10d2
lea eax, [ebp + 8]
push eax
mov ecx, 0x97bc68
call fcn.00679d22
push 0xc
push eax
mov byte [ebp - 4], 2
call fcn.00471102
and byte [ebp - 4], 0
pop ecx
pop ecx
lea ecx, [ebp + 8]
jmp 0x7a75e2
push dword [ebp - 0x34]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x74]
push esi
call fcn.00653e6a
add esp, 0x14
test eax, eax
mov dword [ebp - 0x2c], eax
jge 0x7a74f0
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x7a7d86
push dword [ebp - 0x74]
call fcn.00653f88
test eax, eax
jne 0x7a7d86
push 0x10d2
lea eax, [ebp + 8]
push eax
mov ecx, 0x97bc68
call fcn.00679d22
push 0xc
push eax
mov byte [ebp - 4], 3
call fcn.00471102
and byte [ebp - 4], 0
pop ecx
pop ecx
lea ecx, [ebp + 8]
jmp 0x7a75e2
xor edi, edi
mov dword [ebp - 0x78], edi
push eax
push ecx
lea eax, [ebx + 0x4c0]
mov ecx, esp
mov dword [ebp - 0x98], esp
push eax
call fcn.004059fd
push dword [ebp + 0xc]
lea eax, [ebp - 0x28]
push dword [ebp + 8]
push eax
call fcn.007938b4
add esp, 0x14
mov ecx, dword [ebp - 0x28]
cmp ecx, edi
mov byte [ebp - 4], 4
je 0x7a7754
mov eax, dword [ecx]
cmp eax, edi
je 0x7a7754
mov eax, dword [eax - 4]
shr eax, 1
jmp 0x7a7756
xor eax, eax
cmp eax, edi
jne 0x7a7772
cmp ecx, edi
je 0x7a7766
call fcn.004030b1
mov dword [ebp - 0x28], edi
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], edi
jmp 0x7a7d8e
mov eax, dword [ebx + 0x1e64]
cmp eax, 0x2f9f6c
je 0x7a77c8
cmp eax, 0x4faa8c
je 0x7a77c8
mov ecx, 0x4f5c6a
cmp eax, ecx
je 0x7a77c8
cmp dword [ebp - 0x10], ecx
je 0x7a77c8
mov ecx, esi
call fcn.0043f6fe
cmp eax, 0xffffffff
jle 0x7a77c8
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x7a7850
cmp dword [eax + 0xc], 3
jne 0x7a7850
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
mov eax, dword [esi]
push edi
push 0x64
push 6
mov ecx, esi
call dword [eax + 0x10]
cmp dword [ebp + 8], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], 1
je 0x7a7a4e
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
push eax
lea ecx, [ebp - 0x304]
call fcn.007a3fab
add eax, 0x16c
push eax
mov byte [ebp - 4], 5
call fcn.006155ca
neg eax
sbb al, al
pop ecx
inc al
lea ecx, [ebp - 0x304]
mov byte [ebp - 0x5d], al
mov byte [ebp - 4], 4
call fcn.006575e6
cmp byte [ebp - 0x5d], 0
je 0x7a7a4e
cmp dword [ebp - 0x10], 0x40413c
je 0x7a7858
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
jmp 0x7a78ea
mov ecx, dword [ebp - 0x28]
jmp 0x7a775a
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.004059fd
mov byte [ebp - 4], 4
call fcn.0079d484
mov ecx, eax
call fcn.0041145f
cmp dword [ebp - 0x18], edi
jne 0x7a789f
push dword [ebp - 0x50]
mov eax, dword [ebp - 0x5c]
neg eax
push eax
push dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
neg eax
push eax
lea eax, [ebp - 0x5c]
push eax
call dword [fcn.0097b504]
mov eax, dword [ebx + 4]
lea esi, [ebx + 4]
mov ecx, esi
call dword [eax + 0x10]
push dword [eax + 4]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
push dword [eax]
lea eax, [ebp - 0x5c]
push eax
call dword [0x97b54c]
mov ecx, dword [0x97813c]
push edi
push edi
push edi
push edi
push edi
push 1
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.005d528b
cmp eax, edi
mov dword [ebp - 0x14], eax
jne 0x7a782d
xor eax, eax
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x24], eax
call fcn.006509a1
add eax, 0x16c
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00411537
cmp dword [ebp - 0x10], 0x4f5c6a
pop ecx
pop ecx
jne 0x7a7919
mov ecx, dword [ebp + 0x20]
cmp ecx, edi
jne 0x7a791c
lea ecx, [ebx + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [ebp - 0x18], 0
mov esi, dword [eax]
mov edi, dword [eax + 4]
jne 0x7a794b
mov eax, dword [ebp - 0x54]
neg eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x5c]
neg eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004459fe
pop ecx
pop ecx
push edi
push esi
lea eax, [ebp - 0x5c]
push eax
call dword [0x97b54c]
cmp dword [ebp - 0x10], 0x4dfcde
jne 0x7a797a
cmp dword [ebp - 0x18], 0
mov eax, dword [ebp - 0xb0]
je 0x7a7974
add eax, 0xffffffe2
mov dword [ebp - 0x5c], eax
jmp 0x7a797a
add eax, 0x1e
mov dword [ebp - 0x54], eax
xor eax, eax
push eax
push eax
push eax
mov eax, dword [ebp - 0x14]
push dword [ebp + 0x18]
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, dword [ebp - 0xf0]
push ecx
mov ecx, dword [ebp - 0x24]
sub ecx, eax
push ecx
mov ecx, dword [0x97813c]
lea eax, [ebp + eax*4 - 0xf0]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.005d528b
add dword [ebp - 0x14], eax
xor esi, esi
cmp dword [ebp - 0x14], esi
jne 0x7a79e0
cmp dword [ebp - 0x10], 0x40413a
je 0x7a7c73
cmp dword [ebp - 0x10], 0x4dfcdc
je 0x7a7c73
cmp dword [ebp - 0x10], 0x4e23ef
je 0x7a7c73
mov eax, dword [ebx + 4]
lea esi, [ebx + 4]
mov ecx, esi
call dword [eax + 0x10]
mov edi, dword [eax + 4]
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 0x7a7d21
cmp ecx, 6
jge 0x7a7d21
mov ecx, dword [ebx + 0x1f00]
sub ecx, edi
cmp ecx, 0xffffff6a
jle 0x7a7d21
cmp ecx, 0x96
jge 0x7a7d21
mov ecx, dword [ebx + 0x1f04]
cmp ecx, 0x64
lea eax, [ebx + 0x1f04]
jge 0x7a7d76
inc ecx
mov dword [eax], ecx
jmp 0x7a7d34
cmp dword [ebp - 0x10], 0x12a191
je 0x7a7a5c
mov eax, dword [ebp - 0x2c]
jmp 0x7a7a5f
push 0x11
pop eax
lea ecx, [ebp - 0x5c]
push ecx
push eax
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp + 0x18], esp
push eax
call fcn.004059fd
mov byte [ebp - 4], 4
call fcn.0079d484
mov ecx, eax
call fcn.0041145f
mov esi, dword [ebp + 0x10]
cmp esi, edi
mov edx, dword [ebp - 0x54]
je 0x7a7aac
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xffffffbf
jge 0x7a7a98
push 0xffffffffffffffbf
pop ecx
lea eax, [edx - 1]
cmp ecx, eax
jge 0x7a7aa1
mov eax, ecx
mov ecx, eax
neg ecx
mov dword [ebp - 0x5c], eax
mov dword [esi], ecx
jmp 0x7a7aaf
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x18], edi
jne 0x7a7aca
push dword [ebp - 0x50]
neg eax
push eax
push dword [ebp - 0x58]
neg edx
push edx
lea eax, [ebp - 0x5c]
push eax
call dword [fcn.0097b504]
mov eax, dword [ebp - 0x10]
mov esi, 0xf462d
cmp eax, esi
je 0x7a7b2a
cmp eax, 0x10f3de
je 0x7a7b2a
cmp eax, 0x10f3dd
je 0x7a7b2a
cmp eax, 0x127a7a
je 0x7a7b2a
cmp dword [ebp - 0x78], edi
jne 0x7a7b2a
cmp dword [ebp + 8], edi
je 0x7a7c22
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
push 1
pop ecx
cmp eax, ecx
jg 0x7a7c1f
mov dword [ebp - 0x24], ecx
jmp 0x7a7c22
mov ecx, dword [0x973a98]
push edi
push esi
push dword [ebp - 0x68]
call fcn.00650dae
cmp dword [ebp - 0x10], esi
mov dword [ebp - 0x38], eax
je 0x7a7b4f
cmp dword [ebp - 0x78], edi
jne 0x7a7b4f
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
jmp 0x7a7b56
mov ecx, dword [0x97bfd8]
push eax
call fcn.006509a1
push dword [eax + 0x1a4]
add eax, 0x19c
push eax
call fcn.00413367
lea esi, [ebp - 0x5c]
lea edi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop ecx
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 4]
pop ecx
mov dword [ebp + 0x18], 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]
mov eax, dword [eax]
push edi
push eax
lea eax, [ebp - 0xa4]
push eax
call dword [0x97b54c]
mov ecx, dword [0x97813c]
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push 1
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.005d528b
cmp eax, 1
jne 0x7a7c22
cmp dword [ebp - 0x18], 0
mov eax, dword [ebp + 0x18]
je 0x7a7bdf
neg eax
cmp dword [ebp - 0x5c], eax
jl 0x7a7be7
mov dword [ebp - 0x5c], eax
jmp 0x7a7be7
cmp eax, dword [ebp - 0x54]
jl 0x7a7be7
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x10], 0xf462d
je 0x7a7bfe
cmp dword [ebp - 0x78], 0
jne 0x7a7bfe
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
jmp 0x7a7c07
push dword [ebp - 0x38]
mov ecx, dword [0x97bfd8]
call fcn.006509a1
push dword [eax + 0x138]
add eax, 0x130
push eax
call fcn.00413367
pop ecx
pop ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 4]
lea esi, [ebx + 4]
mov ecx, esi
call dword [eax + 0x10]
push dword [eax + 4]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
push dword [eax]
lea eax, [ebp - 0x5c]
push eax
call dword [0x97b54c]
mov ecx, dword [0x97813c]
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push dword [ebp - 0x24]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.005d528b
cmp dword [ebp + 0x10], esi
mov dword [ebp - 0x14], eax
je 0x7a79b4
cmp eax, esi
jne 0x7a7c8e
mov ecx, dword [ebp - 0x28]
cmp ecx, esi
je 0x7a7c82
call fcn.004030b1
mov dword [ebp - 0x28], esi
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], esi
jmp 0x7a7d8e
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x10]
push eax
push dword [ebp - 0x68]
mov dword [ebp + 0x10], esi
call fcn.00653821
add esp, 0xc
cmp eax, esi
mov dword [ebp + 0x18], eax
je 0x7a79b4
mov eax, dword [ebp - 0x44]
push 1
pop edi
lea ecx, [eax + 0x3064]
mov dword [ebp - 0xb4], edi
call fcn.004133f0
push 0x64
xor edx, edx
pop ecx
div ecx
cmp edx, dword [ebp + 0x18]
jae 0x7a79b4
push dword [ebp - 0x34]
mov ecx, ebx
push esi
push edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 0x10]
call fcn.007a93ea
test eax, eax
je 0x7a79b4
mov ecx, dword [ebp - 0x28]
cmp ecx, esi
mov dword [ebp - 0x20], esi
mov dword [ebx + 0x1ed8], edi
je 0x7a7d09
call fcn.004030b1
mov dword [ebp - 0x28], esi
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], esi
je 0x7a7d1a
mov ecx, dword [ebp - 0x1c]
call fcn.007a934b
mov eax, edi
jmp 0x7a91f8
and dword [ebx + 0x1f04], 0
mov dword [ebx + 0x1efc], eax
mov dword [ebx + 0x1f00], edi
cmp dword [ebp - 0x10], 0x4f5c6a
mov eax, dword [ebp - 0x2c]
lea eax, [eax + eax*2]
lea esi, [eax*8 + 0x978678]
je 0x7a7e2b
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
push dword [ebp - 0x8c]
push dword [ebp - 0x2c]
call fcn.0078c1bd
cmp dword [ebp - 0x10], 0x4dfcde
jne 0x7a7d9f
mov dword [ebp + 0x18], 0x564
jmp 0x7a7dd8
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x7a7d86
call fcn.004030b1
and dword [ebp - 0x28], 0
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], 0
je 0x7a7d98
mov ecx, dword [ebp - 0x1c]
call fcn.007a934b
xor eax, eax
jmp 0x7a91f8
cmp dword [ebp - 0x10], 0x4e23ec
jne 0x7a7dae
and dword [ebp + 0x18], 0
jmp 0x7a7dd8
lea edi, [ebx + 0x78]
mov ecx, edi
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]
mov dword [ebp + 0x18], eax
xor eax, eax
cmp dword [ebp - 0x6c], eax
je 0x7a7dfa
mov eax, dword [ebp - 0x44]
push dword [eax + 0x24c4]
add eax, 0x2114
add eax, 0x3a8
push eax
call fcn.00413367
pop ecx
pop ecx
push eax
lea ecx, [ebx + 0x78]
call fcn.007a9209
push eax
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.004059fd
push dword [ebp - 0x2c]
mov edi, dword [ebp - 0x40]
push dword [ebp - 0x18]
mov eax, dword [ebp + 0x18]
add eax, edi
push eax
mov ecx, ebx
call fcn.0078ceed
jmp 0x7a7e35
mov edi, dword [ebp - 0x40]
mov dword [ebp + 0x18], 0x78
mov edx, dword [ebp - 0x10]
cmp edx, 0x40684f
jne 0x7a7e5b
mov eax, dword [esi + 0xc]
add eax, edi
test eax, eax
lea ecx, [ebx + 0x17b4]
mov dword [ecx], eax
jne 0x7a7f19
mov dword [ecx], 1
cmp edx, 0x3ee1b0
je 0x7a7eb2
cmp edx, 0x4dd5cb
je 0x7a7e95
cmp edx, 0x4dfcda
je 0x7a7eb2
cmp edx, 0x4e23e9
je 0x7a7e95
cmp edx, 0x4e23eb
jle 0x7a7ed4
cmp edx, 0x4e23ed
jle 0x7a7eb2
cmp edx, 0x4e23ef
je 0x7a7eb2
jmp 0x7a7ed4
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x7a7ea3
push edx
call fcn.007a9287
pop ecx
mov ecx, dword [esi + 0xc]
add ecx, eax
add ecx, edi
mov dword [ebp + 0x10], ecx
lea eax, [ebp + 0x10]
jmp 0x7a7ec4
push edx
call fcn.007a9287
add eax, dword [esi + 0xc]
pop ecx
add eax, edi
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x2474]
call fcn.004b8f75
cmp dword [ebp - 0x10], 0x406849
jne 0x7a7f19
cmp dword [ebp + 0x14], 0
jne 0x7a7f19
mov ecx, dword [0x973a98]
push 0x7fffffff
push 0
push 6
push 1
mov esi, 0x3d0ceb
push esi
call fcn.0064d61f
push eax
mov ecx, ebx
call fcn.00790b31
push 0x1e
push esi
call fcn.007d3e08
pop ecx
pop ecx
push esi
mov ecx, ebx
call fcn.007bd2b0
cmp dword [ebp + 8], 0
je 0x7a7f97
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0x4dfcde
jne 0x7a7f63
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
call dword [eax + 0x10]
mov eax, dword [eax]
sub eax, dword [ebp - 0xb0]
push eax
call fcn.0087a90a
pop ecx
cdq
push 0x37
pop ecx
idiv ecx
dec eax
dec eax
push eax
push 0
push dword [ebp - 0x8c]
mov ecx, ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00790b31
jmp 0x7a7f97
cmp dword [ebp + 0x14], 0
jne 0x7a7f77
cmp eax, 0x4f5c6a
je 0x7a7f77
push 0x7fffffff
jmp 0x7a7f4c
push dword [ebp + 0x20]
mov ecx, ebx
push 0x320
push dword [ebp + 8]
call fcn.0079316f
push 0x1f
push 0x4f5c6a
call fcn.007d3e08
pop ecx
pop ecx
mov esi, dword [ebp - 0x10]
mov eax, 0x10f3e0
cmp esi, eax
je 0x7a7fb3
cmp esi, 0x14011e
je 0x7a7fb3
cmp esi, 0x895829
jne 0x7a7fec
xor ecx, ecx
cmp esi, eax
sete cl
mov eax, ecx
test eax, eax
je 0x7a7fc8
fld qword [0x8f19f0]
jmp 0x7a7fce
fld qword [0x8f19e8]
fdivr qword [0x8ea320]
push 0
push 0
push dword [ebp + 0x18]
push eax
push ecx
push ecx
mov ecx, dword [0x97810c]
fstp qword [esp]
call fcn.0042dc18
mov ecx, dword [ebp + 8]
test ecx, ecx
push 1
pop edi
push 0xf
mov dword [ebp + 0x10], edi
pop esi
je 0x7a802c
cmp dword [ebp + 0x14], 0
jne 0x7a802c
push dword [ebp + 0xc]
call fcn.006509a1
push dword [eax + 0x108]
add eax, 0x100
push eax
call fcn.00413367
cmp eax, edi
pop ecx
pop ecx
mov dword [ebp + 0x10], eax
jg 0x7a8027
mov dword [ebp + 0x10], edi
cmp dword [ebp + 0x10], esi
jge 0x7a8034
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x64], eax
jmp 0x7a8037
mov dword [ebp - 0x64], esi
cmp dword [ebp - 0x14], 0
jle 0x7a80d1
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0xbec]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov esi, dword [ebp + 0x20]
push 0x98
push 0
push esi
call fcn.0087a060
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
add esp, 0xc
push 0
mov dword [esi], ecx
call fcn.005c634c
mov ecx, dword [esi]
mov dword [esi + 8], eax
call fcn.0067d28e
mov ecx, dword [esi]
mov dword [esi + 0xc], eax
call fcn.005c9cb2
mov dword [esi + 4], eax
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x5c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x20]
mov ecx, dword [esi]
lea eax, [ebp - 0x9c]
push eax
call fcn.005c5bbc
mov ecx, dword [eax]
add dword [ebp - 0x4c], 4
mov dword [esi + 0x90], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x94], eax
add esi, 0x98
dec dword [ebp - 0x34]
mov dword [ebp + 0x20], esi
jne 0x7a8059
cmp dword [ebp - 0x10], 0x40413c
je 0x7a80f9
push dword [ebp - 0x14]
lea eax, [ebp - 0xbec]
push eax
xor eax, eax
xor esi, esi
cmp dword [ebp - 0x18], esi
sete al
push eax
call fcn.007a9375
add esp, 0xc
jmp 0x7a80fb
xor esi, esi
mov edi, dword [ebp - 0x68]
push dword [edi + 0x3d]
lea eax, [edi + 0x39]
push eax
mov dword [ebp - 0x34], esi
call fcn.0045f084
cmp ax, 0x7a
pop ecx
pop ecx
jne 0x7a8150
mov ecx, dword [0x973a98]
lea eax, [ebp + 0x20]
push eax
push 0x129daa
push edi
mov dword [ebp + 0x20], esi
call fcn.00650dae
cmp eax, esi
je 0x7a8150
mov ecx, dword [ebp + 0x20]
push eax
call fcn.006509a1
push dword [eax + 0xd8]
add eax, 0xd0
push eax
call fcn.00413367
pop ecx
pop ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x14], esi
mov dword [ebp + 0x20], esi
jle 0x7a8263
lea eax, [ebp - 0xbd4]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x10], 0x12a193
jne 0x7a8187
cmp dword [ebp + 0x10], esi
jle 0x7a8229
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x30]
push 1
pop eax
rep stosd dword es:[edi], eax
jmp 0x7a8229
mov eax, dword [ebp - 0x68]
push dword [eax + 0x3d]
add eax, 0x39
push eax
call fcn.0045f084
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
mov eax, dword [edi + 0x32c4]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x4a4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax - 0x18]
push dword [eax + 0x158]
add eax, 0x150
push eax
call fcn.004b8c9b
add esp, 0x10
push 0x64
pop ecx
mov dword [ebp - 0x48], eax
movsx eax, word [ebp - 0x38]
cdq
idiv ecx
sub eax, 9
neg eax
sbb eax, eax
inc eax
push eax
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x70]
lea ecx, [eax + 0x3c]
push dword [ebp + 0x1c]
push ecx
push eax
push dword [ebp + 0xc]
mov eax, dword [eax - 0x18]
push dword [ebp + 8]
add eax, 0x170
push esi
push dword [ebp - 0x2c]
lea ecx, [edi + 0x3024]
push esi
push esi
push dword [ebp - 0x6c]
push dword [ebp - 0x64]
push eax
push dword [ebp - 0x48]
lea eax, [edi + 0x2114]
push eax
lea eax, [edi + 0x209c]
push eax
push dword [ebp - 0x68]
call fcn.0066c1d7
cmp dword [ebp + 8], esi
je 0x7a8247
push dword [ebp - 0x78]
mov edi, dword [ebp + 0x20]
push dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
call fcn.0064cf49
test eax, eax
jne 0x7a825f
inc dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
add dword [ebp - 0x30], 0x98
cmp eax, dword [ebp - 0x14]
jl 0x7a8165
jmp 0x7a8263
inc edi
mov dword [ebp - 0x14], edi
mov eax, dword [ebx + 0x4a4]
mov edi, dword [ebp + 8]
push esi
lea ecx, [ebp - 0xbec]
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x138]
push dword [ebp - 0x2c]
push eax
push dword [ebp + 0xc]
push edi
call fcn.0064ba86
cmp edi, esi
mov byte [ebp - 4], 8
je 0x7a82a7
mov eax, dword [edi]
cmp eax, 0x3d0cea
je 0x7a82a2
cmp eax, 0x4faa91
jne 0x7a82a7
mov dword [ebp - 0x38], esi
jmp 0x7a82ae
mov dword [ebp - 0x38], 1
push dword [ebx + 0x4a4]
mov ecx, dword [0x973a94]
call fcn.0075578b
cmp edi, esi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x6c], esi
je 0x7a8302
mov eax, dword [edi]
cmp eax, 0x30d7eb
je 0x7a82dc
cmp eax, 0x2f514b
jne 0x7a8302
push dword [ebp + 0xc]
mov ecx, edi
call fcn.006509a1
push dword [eax + 0xfc]
add eax, 0xf4
push eax
call fcn.00413367
add dword [ebp - 0x90], eax
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x14], esi
mov dword [ebp + 0x20], esi
jle 0x7a8775
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x4c], esi
lea edi, [ebp - 0xbdc]
jmp 0x7a831e
xor esi, esi
cmp ecx, 0x40413c
jne 0x7a8339
mov eax, dword [ebp + 0x20]
neg eax
sbb eax, eax
and eax, 0x118
add eax, dword [ebp + 0x18]
mov dword [edi], eax
jmp 0x7a834d
mov eax, 0x118
cmp dword [ebp - 0x4c], eax
jge 0x7a8346
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp + 0x18]
add edx, eax
mov dword [edi], edx
cmp dword [ebp - 0x64], esi
mov dword [ebp + 0x10], esi
jle 0x7a875a
lea eax, [edi + 8]
mov dword [ebp - 0x30], eax
xor esi, esi
cmp ecx, 0x111aee
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x48], esi
je 0x7a854d
cmp ecx, 0x12a18f
je 0x7a854d
cmp ecx, 0x14282b
je 0x7a854d
cmp ecx, 0x4dd5ca
je 0x7a8555
cmp ecx, 0x4dd5cc
je 0x7a854d
cmp ecx, 0x3ee1b0
jne 0x7a8467
mov ecx, dword [edi - 0x10]
call fcn.005cdcb1
test eax, eax
jne 0x7a8627
mov eax, dword [ebp - 0x30]
cmp dword [eax], esi
jle 0x7a8627
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 ecx, 0x979568
mov esi, eax
call fcn.004133f0
push 0x14
xor edx, edx
pop ecx
div ecx
mov ecx, dword [edi - 0x10]
add edx, esi
mov dword [ebp - 0x48], edx
call fcn.005c5e27
mov ecx, dword [ebp - 0x48]
lea eax, [ecx + eax - 0xa]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi - 0x10]
lea ecx, [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
lea esi, [ebx + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
setl dl
mov dword [ebp - 0x24], 6
test edx, edx
mov dword [ebp - 0x48], edx
je 0x7a8453
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov eax, dword [eax]
add eax, dword [ebp - 0x3c]
jmp 0x7a8624
cmp ecx, 0x4e23ed
jne 0x7a8498
mov eax, dword [ebx + 4]
lea esi, [ebx + 4]
mov ecx, esi
mov dword [ebp - 0x24], 3
call dword [eax + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x34], eax
jmp 0x7a8627
cmp ecx, 0x4e23ef
jne 0x7a84cf
mov ecx, dword [ebx + 0x52c]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax*4 + 0x8f1918]
and cl, 1
neg cl
mov dword [ebp - 0x24], 9
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
imul eax, ecx
lea ecx, [ebx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx]
jmp 0x7a848a
mov ecx, 0x979568
call fcn.004133f0
push 0x64
xor edx, edx
pop ecx
div ecx
mov eax, dword [ebp - 0x90]
cmp eax, ecx
mov dword [ebp - 0x98], edx
jl 0x7a84f2
push ecx
pop eax
cmp eax, esi
jg 0x7a84f8
xor eax, eax
xor ecx, ecx
cmp edx, eax
setl cl
mov esi, ecx
mov ecx, dword [edi - 0x10]
call fcn.007a931e
mov ecx, dword [ebp - 0x30]
cmp dword [ecx], eax
jl 0x7a851a
test esi, esi
je 0x7a8627
jmp 0x7a8541
test esi, esi
je 0x7a8627
mov ecx, dword [edi - 0x10]
call fcn.005cdcb1
test eax, eax
jne 0x7a8627
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x6c]
jge 0x7a8627
mov dword [ebp - 0x24], 2
jmp 0x7a8627
cmp ecx, 0x4dd5ca
jne 0x7a85ab
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x24], 7
call fcn.006509a1
push dword [eax + 0x18c]
add eax, 0x16c
add eax, 0x18
push eax
call fcn.00413367
pop ecx
pop ecx
mov ecx, 0x979568
mov dword [ebp - 0x98], eax
call fcn.004133f0
push 0x14
pop ecx
xor edx, edx
div ecx
mov ecx, dword [edi - 0x10]
push 0xfffffffffffffff1
pop esi
sub esi, edx
sub esi, dword [ebp - 0x98]
call fcn.005c5e27
sub esi, eax
jmp 0x7a860c
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.006509a1
push dword [eax + 0x174]
add eax, 0x16c
push eax
call fcn.00413367
pop ecx
pop ecx
mov ecx, 0x979568
mov esi, eax
call fcn.004133f0
push 0x14
xor edx, edx
pop ecx
div ecx
mov ecx, dword [edi - 0x10]
sub edx, esi
mov dword [ebp - 0x98], edx
call fcn.005c5e27
mov ecx, dword [ebp - 0x98]
lea esi, [ecx + eax + 0x23]
xor eax, eax
cmp dword [ebp - 0x10], 0x4dd5cc
setne al
dec eax
and eax, 3
add eax, 5
mov dword [ebp - 0x24], eax
test byte [ebx + 0x52c], 1
je 0x7a8617
neg esi
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
call dword [eax + 0x10]
mov eax, dword [eax]
add eax, esi
mov dword [ebp - 0x3c], eax
push dword [ebp + 0x20]
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x138]
call fcn.0067d25d
mov eax, dword [ebp - 0x10]
xor esi, esi
cmp eax, 0x406849
mov byte [ebp - 4], 9
je 0x7a867a
cmp eax, 0x40684f
je 0x7a867a
cmp eax, 0x111af0
jne 0x7a8835
mov eax, dword [ebp - 0x74]
cmp eax, 0x1e
je 0x7a8820
cmp eax, 0x1f
je 0x7a8820
cmp eax, 0x28
je 0x7a867a
cmp eax, 0x29
jne 0x7a868e
mov eax, dword [ebp + 0x10]
dec eax
neg eax
sbb eax, eax
and eax, 0xffffff60
add eax, 0xf0
add dword [edi], eax
mov eax, dword [edi - 0x10]
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 0x7a86b8
mov ecx, dword [ebp - 0x30]
cmp dword [ecx], 0
jle 0x7a86b8
mov dword [ecx], eax
mov eax, dword [edi - 0x10]
push dword [ebp - 0x10]
mov ecx, dword [eax + 0x15c]
call fcn.005dcae0
test eax, eax
jne 0x7a86d3
mov eax, dword [ebp - 0x30]
and dword [eax], 0
push dword [ebp - 0x48]
lea eax, [ebp - 0x44]
push dword [ebp - 0x34]
push dword [ebp - 0x3c]
push 0
push dword [ebp - 0x24]
push dword [ebp - 0x38]
push ecx
mov ecx, esp
mov dword [ebp - 0x98], esp
push eax
call fcn.004059fd
push dword [edi + 0x84]
mov eax, dword [ebp - 0x30]
push dword [edi + 0x80]
add esi, dword [edi]
push dword [ebp + 0x10]
add esi, dword [ebp - 0x40]
push dword [eax + 0x3c]
mov ecx, ebx
push dword [eax]
mov byte [ebp - 4], 9
push dword [ebp - 0x18]
push dword [edi - 0xc]
push esi
push dword [ebp - 0x10]
call fcn.0067e5d1
mov ecx, dword [edi - 0x10]
push eax
call fcn.005cbf42
mov ecx, dword [ebp - 0x44]
test ecx, ecx
mov byte [ebp - 4], 8
je 0x7a8744
call fcn.004030b1
and dword [ebp - 0x44], 0
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
add dword [ebp - 0x30], 4
cmp eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x10]
jl 0x7a835f
inc dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
add dword [ebp - 0x4c], 0x46
add edi, 0x98
cmp eax, dword [ebp - 0x14]
jl 0x7a831c
xor esi, esi
push esi
push esi
push 0x29
lea ecx, [ebp - 0x88]
call fcn.0060142b
mov byte [ebp - 4], 0xb
call fcn.00429303
mov al, byte [eax + 0xf8]
mov byte [ebp + 0x10], al
push dword [ebp + 0x10]
lea ecx, [ebp - 0x88]
call fcn.00457cda
xor eax, eax
mov al, byte [ebp - 0x14]
shl al, 4
or al, byte [ebp - 0x64]
lea ecx, [ebp - 0x88]
push eax
call fcn.00457cda
push dword [ebp - 0x10]
lea ecx, [ebp - 0x88]
call fcn.00457d37
mov ecx, dword [ebp - 0x10]
mov eax, 0x236a69
cmp ecx, eax
jg 0x7a88ed
je 0x7a8915
cmp ecx, 0x111ae9
je 0x7a8915
cmp ecx, 0x12a189
je 0x7a8915
cmp ecx, 0x142829
je 0x7a8915
cmp ecx, 0x205d29
je 0x7a8915
cmp ecx, 0x21e3c9
je 0x7a8915
jmp 0x7a8923
mov eax, dword [ebp + 0x10]
dec eax
neg eax
sbb eax, eax
and eax, 0xffffffb0
add eax, 0xa0
jmp 0x7a868c
cmp eax, 0x4dd5cb
jne 0x7a88a4
mov eax, dword [ebp + 0x10]
push dword [ebp + 0x10]
dec eax
neg eax
sbb eax, eax
and eax, 0xfffffef2
add eax, 0x15e
mov dword [edi], eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x138]
call fcn.0067d25d
mov dword [ebp - 0x98], eax
mov eax, dword [eax]
test eax, eax
je 0x7a8878
add eax, 8
push eax
call dword [sym.imp.kernel32.dll_InterlockedIncrement]
lea ecx, [ebp - 0x44]
call fcn.00402fa6
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x70]
test ecx, ecx
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
je 0x7a868e
call fcn.004030b1
and dword [ebp - 0x70], 0
jmp 0x7a868e
cmp eax, 0x4e23ec
jne 0x7a88ce
mov eax, dword [ebp - 0x8c]
lea ecx, [eax + 0xa]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax*4 + 0x8f1930]
imul eax, ecx
push 0x10
cdq
pop ecx
idiv ecx
mov esi, eax
jmp 0x7a868e
cmp eax, 0x4e23ef
jne 0x7a868e
push dword [ebp + 0x10]
mov ecx, ebx
call fcn.0079d2cf
mov dword [ebp + 0x18], eax
mov dword [edi], eax
jmp 0x7a868e
cmp ecx, 0x2f9f6c
je 0x7a8915
cmp ecx, 0x312609
je 0x7a8915
cmp ecx, 0x4dd5cc
je 0x7a8915
cmp ecx, 0x4f5c6a
je 0x7a8915
cmp ecx, 0x4faa8c
jne 0x7a8923
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x88]
call fcn.00457d37
cmp dword [ebp + 0x14], esi
lea ecx, [ebp - 0x88]
setne al
shl al, 1
or al, byte [ebp - 0xb4]
shl al, 4
or al, byte [ebp - 0x78]
push eax
call fcn.00457cda
mov eax, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x18]
and al, 0x7f
shl cl, 7
or al, cl
lea ecx, [ebp - 0x88]
push eax
call fcn.00457cda
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x88]
call fcn.00457cda
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
call fcn.00457cda
call fcn.007d1e08
push eax
lea ecx, [ebp - 0x88]
call fcn.00457d37
cmp dword [ebp - 0x14], esi
jle 0x7a8b29
mov eax, dword [ebp - 0x14]
lea edi, [ebp - 0xbec]
mov dword [ebp + 0x1c], eax
mov eax, dword [edi]
push dword [eax + 0x158]
add eax, 0x150
push eax
call fcn.004b8c9b
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x88]
call fcn.00457d37
xor eax, eax
mov al, byte [edi + 4]
lea ecx, [ebp - 0x88]
push eax
call fcn.00457cda
mov ecx, dword [edi]
call fcn.005c5474
mov cl, byte [edi + 8]
shl al, 7
and cl, 0x7f
or al, cl
lea ecx, [ebp - 0x88]
push eax
call fcn.00457cda
xor eax, eax
mov al, byte [edi + 0xc]
lea ecx, [ebp - 0x88]
push eax
call fcn.00457cda
mov eax, dword [edi]
cmp dword [eax + 0x274], esi
je 0x7a8a19
mov ecx, dword [eax + 0x160]
cmp ecx, esi
jne 0x7a8a23
mov ecx, dword [eax + 0x15c]
cmp ecx, esi
je 0x7a8a4a
cmp dword [eax + 0x274], esi
mov edx, dword [eax + 0x15c]
je 0x7a8a3b
mov ecx, dword [eax + 0x160]
cmp ecx, esi
jne 0x7a8a41
mov ecx, dword [eax + 0x15c]
cmp edx, ecx
je 0x7a8a4a
push 1
pop ecx
jmp 0x7a8a4c
xor ecx, ecx
mov eax, dword [eax + 0x444]
and al, 0x7f
shl cl, 7
or al, cl
lea ecx, [ebp - 0x88]
push eax
call fcn.00457cda
mov eax, dword [edi]
lea ecx, [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ax, word [eax]
lea ecx, [ebp - 0x88]
push eax
call fcn.0045d247
mov eax, dword [edi]
lea ecx, [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ax, word [eax + 4]
lea ecx, [ebp - 0x88]
push eax
call fcn.0045d247
mov eax, dword [edi]
lea ecx, [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ax, word [eax]
lea ecx, [ebp - 0x88]
push eax
call fcn.0045d247
mov eax, dword [edi]
lea ecx, [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ax, word [eax + 4]
lea ecx, [ebp - 0x88]
push eax
call fcn.0045d247
xor eax, eax
mov ax, word [edi + 0x10]
lea ecx, [ebp - 0x88]
push eax
call fcn.0045d247
cmp dword [ebp - 0x64], esi
jle 0x7a8b07
lea eax, [edi + 0x18]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x10]
push dword [eax]
lea ecx, [ebp - 0x88]
call fcn.00457d37
add dword [ebp + 0x10], 4
dec dword [ebp + 0x20]
jne 0x7a8aee
mov ecx, dword [edi]
call fcn.005d0a74
push eax
lea ecx, [ebp - 0x88]
call fcn.00457d37
add edi, 0x98
dec dword [ebp + 0x1c]
jne 0x7a89a4
mov eax, dword [ebx + 4]
lea edi, [ebx + 4]
mov ecx, edi
call dword [eax + 0x10]
mov ax, word [eax]
lea ecx, [ebp - 0x88]
push eax
call fcn.0045d247
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
mov ax, word [eax + 4]
lea ecx, [ebp - 0x88]
push eax
call fcn.0045d247
mov ecx, dword [0x9784c4]
lea eax, [ebp - 0x88]
push eax
call fcn.004751b2
mov ecx, ebx
call fcn.007b4235
cmp dword [ebp + 8], esi
je 0x7a8c14
cmp dword [ebp + 0x14], esi
jne 0x7a8c14
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 4
je 0x7a8bce
lea ecx, [ebx + 0x78]
call fcn.0043f6fe
xor ecx, ecx
cmp eax, 0xffffffff
setg cl
push 3
imul ecx, ecx, 0x3f4
mov eax, dword [ecx + ebx + 0x53c]
sub eax, dword [ebp + 0x18]
pop ecx
cdq
idiv ecx
mov ecx, ebx
add eax, dword [ebp + 0x18]
push eax
push dword [ebp - 0x10]
mov eax, dword [ebp + 8]
add eax, 0x30
push eax
push dword [ebp - 0x68]
call fcn.007acb52
jmp 0x7a8c14
cmp dword [ebp - 0x14], esi
jle 0x7a8c14
mov eax, dword [ebp - 0xbec]
push dword [eax + 0x158]
add eax, 0x150
push eax
call fcn.004b8c9b
pop ecx
pop ecx
push eax
lea ecx, [ebx + 0x78]
call fcn.0043f6fe
xor ecx, ecx
cmp eax, 0xffffffff
setg cl
imul ecx, ecx, 0x3f4
push dword [ecx + ebx + 0x53c]
mov ecx, ebx
push dword [ebp - 0x10]
call fcn.007acc49
cmp dword [ebp - 0x10], 0x40413a
jne 0x7a8d16
push 0xc00614a4
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
push esi
call fcn.00424e0a
mov eax, dword [edi]
mov ecx, edi
mov byte [ebp - 4], 0xc
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 + 0x18], esp
push esi
call fcn.00424dd7
push 0xab9
lea eax, [ebp + 0x20]
mov edi, 0x97bc68
push eax
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.00679d86
mov dword [ebp + 0x10], eax
lea ecx, [ebx + 0x78]
mov byte [ebp - 4], 0xf
call fcn.0043f900
mov ecx, dword [ebp + 0x10]
neg eax
sbb eax, eax
inc eax
push eax
call fcn.00411641
push eax
call fcn.00424e82
mov ecx, eax
call fcn.0042b613
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 0xb
call fcn.00402676
push 3
push 0x7fffffff
push 0x3e8
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push esi
call fcn.00424e0a
push ecx
mov eax, esp
mov dword [ebp + 0x1c], esp
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x10
call fcn.00486ada
push 0xaba
lea eax, [ebp + 0x20]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.00679d86
mov edi, eax
lea ecx, [ebx + 0x78]
mov byte [ebp - 4], 0x13
call fcn.0043f900
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, edi
call fcn.00411641
push eax
call fcn.00424e82
mov ecx, eax
call fcn.0042d941
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 0xb
call fcn.00402676
mov edi, 0x406849
cmp dword [ebp + 0x14], edi
jne 0x7a8d2a
push 0x1f
push edi
call fcn.007d3e08
pop ecx
pop ecx
mov edx, 0x40413a
cmp dword [ebp - 0x10], edx
je 0x7a8d39
cmp dword [ebp + 0x14], edi
jne 0x7a8d95
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebx + 0xd74]
mov dword [ebx + 0x1e9c], eax
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x1ea0], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0x1ea4], eax
inc eax
mov dword [ebx + 0x1ea8], eax
lea eax, [ecx - 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
cmp dword [ebp - 0x10], edx
mov dword [ebx + 0x1e94], 1
mov dword [ebx + 0x1e98], esi
jne 0x7a8d89
push 7
jmp 0x7a8d90
cmp dword [ebp + 0x14], edi
jne 0x7a8d95
push 8
call fcn.004e98b7
cmp dword [ebp - 0x10], 0x111aee
je 0x7a8db4
cmp dword [ebp - 0x10], 0x12a18f
je 0x7a8db4
cmp dword [ebp - 0x10], 0x14282b
jne 0x7a8ee3
cmp dword [ebp - 0x14], esi
jle 0x7a8ee3
lea ecx, [ebx + 0x1eb4]
mov dword [ebx + 0x1eb0], 1
call fcn.007b4812
cmp dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x10]
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x1eac], eax
je 0x7a8e0f
call fcn.006509a1
mov edi, 0x16c
push dword [eax + edi + 8]
add eax, edi
push eax
call fcn.00413367
push 8
cdq
pop ecx
idiv ecx
push eax
call fcn.0087a90a
add esp, 0xc
neg eax
jmp 0x7a8e34
call fcn.006509a1
mov edi, 0x16c
push dword [eax + edi + 8]
add eax, edi
push eax
call fcn.00413367
push 8
cdq
pop ecx
idiv ecx
push eax
call fcn.0087a90a
add esp, 0xc
lea ecx, [ebx + 0x1eb4]
mov dword [ebp + 0x14], eax
call fcn.007b46c2
cmp dword [ebp - 0x18], esi
mov ecx, dword [ebp + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [ebp + 8]
mov dword [eax], esi
mov dword [eax + 4], 0x5a
push dword [ebp + 0xc]
je 0x7a8e82
call fcn.006509a1
push dword [eax + edi + 8]
add eax, edi
push eax
call fcn.00413367
push 8
cdq
pop ecx
idiv ecx
push eax
call fcn.0087a90a
mov edi, eax
add esp, 0xc
neg edi
jmp 0x7a8ea4
call fcn.006509a1
push dword [eax + edi + 8]
add eax, edi
push eax
call fcn.00413367
push 8
cdq
pop ecx
idiv ecx
push eax
call fcn.0087a90a
add esp, 0xc
mov edi, eax
lea ecx, [ebx + 0x1eb4]
call fcn.007b46c2
mov dword [eax], 2
mov dword [eax + 8], edi
mov dword [eax + 4], 0xb4
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebx + 0xd74]
add eax, 0x6ea
mov dword [ebx + 0x1ec8], eax
lea eax, [ecx - 0xc]
neg ecx
sbb ecx, ecx
push 9
and ecx, eax
call fcn.004e98b7
cmp dword [ebp - 0x10], 0x4dd5cc
jne 0x7a903c
cmp dword [ebp - 0x14], esi
jle 0x7a91ac
lea edi, [ebx + 0x1eb4]
mov ecx, edi
mov dword [ebx + 0x1eb0], 1
call fcn.007b4812
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov dword [ebx + 0x1eac], eax
call fcn.007b46c2
mov ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff26
add ecx, 0x6d
push 0x1e
mov dword [eax + 8], ecx
pop edi
lea ecx, [ebx + 0x1eb4]
mov dword [eax], esi
mov dword [eax + 4], edi
call fcn.007b46c2
lea ecx, [ebx + 0x1eb4]
mov dword [eax], esi
mov dword [eax + 8], esi
mov dword [eax + 4], 0x5a
call fcn.007b46c2
mov ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
and ecx, 0xffffffee
add ecx, 9
mov dword [eax + 8], ecx
lea ecx, [ebx + 0x1eb4]
mov dword [eax], esi
mov dword [eax + 4], edi
call fcn.007b46c2
lea ecx, [ebx + 0x1eb4]
mov dword [eax], esi
mov dword [eax + 8], esi
mov dword [eax + 4], 0x5a
call fcn.007b46c2
mov ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffff4
add ecx, 6
mov dword [eax + 8], ecx
lea ecx, [ebx + 0x1eb4]
mov dword [eax], esi
mov dword [eax + 4], edi
call fcn.007b46c2
mov dword [eax], esi
mov dword [eax + 8], esi
mov dword [eax + 4], 0x5a
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
and eax, 0xfffffff8
push edi
add eax, 4
push eax
push esi
mov ecx, ebx
call fcn.007a9265
push 0x5a
push esi
push esi
mov ecx, ebx
call fcn.007a9265
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
and eax, 0xfffffffc
inc eax
push edi
inc eax
push eax
push esi
mov ecx, ebx
call fcn.007a9265
push 0x5a
push esi
push esi
mov ecx, ebx
call fcn.007a9265
push 0x4b0
push esi
push esi
mov ecx, ebx
call fcn.007a9265
mov eax, dword [ebp - 0x40]
add eax, 0x5aa
push 9
lea ecx, [ebx + 0xd74]
mov dword [ebx + 0x1ec8], eax
call fcn.005ee6c0
push eax
call fcn.005ea2cf
pop ecx
mov ecx, eax
call fcn.004e98b7
jmp 0x7a903f
push 0x1e
pop edi
cmp dword [ebp - 0x10], 0x4dd5ca
jne 0x7a912b
cmp dword [ebp - 0x14], esi
jle 0x7a91ac
mov ecx, ebx
call fcn.007a9250
mov eax, dword [ebp - 0x10]
push 0x1e0
push esi
push esi
mov ecx, ebx
mov dword [ebx + 0x1eac], eax
call fcn.007a9265
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
and eax, 0xffffff10
add eax, 0x78
push edi
neg eax
push eax
push esi
mov ecx, ebx
call fcn.007a9265
push 0x5a
push esi
push esi
mov ecx, ebx
call fcn.007a9265
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
and eax, 0xfffffff4
add eax, 6
push edi
neg eax
push eax
push esi
mov ecx, ebx
call fcn.007a9265
push 0x5a
push esi
push esi
mov ecx, ebx
call fcn.007a9265
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
and eax, 0xfffffffc
inc eax
inc eax
push edi
neg eax
push eax
push esi
mov ecx, ebx
call fcn.007a9265
push 0x5a
push esi
push esi
mov ecx, ebx
call fcn.007a9265
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
push edi
neg eax
push eax
push esi
mov ecx, ebx
call fcn.007a9265
push 0x5a
push esi
push esi
mov ecx, ebx
call fcn.007a9265
mov eax, dword [ebp - 0x40]
add eax, 0x7a8
push 9
lea ecx, [ebx + 0xd74]
mov dword [ebx + 0x1ec8], eax
call fcn.005ee6c0
push eax
call fcn.005ea2cf
pop ecx
mov ecx, eax
call fcn.004e98b7
cmp dword [ebp - 0x10], 0x4e23ef
jne 0x7a91ac
cmp dword [ebp - 0x14], esi
jle 0x7a91ac
mov ecx, ebx
call fcn.007a9250
mov eax, dword [ebp - 0x10]
push 0x2d0
push esi
push esi
mov ecx, ebx
mov dword [ebx + 0x1eac], eax
call fcn.007a9265
mov ecx, dword [ebp - 0xbec]
push edi
call fcn.005ca1ff
mov ecx, eax
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
and eax, 0xffffffe4
add eax, 0xe
neg ecx
sbb ecx, ecx
not ecx
and ecx, eax
push ecx
push esi
mov ecx, ebx
call fcn.007a9265
push 0x4ce
push esi
push esi
mov ecx, ebx
call fcn.007a9265
push 9
lea ecx, [ebx + 0xd74]
call fcn.005ee6c0
push eax
call fcn.005ea2cf
pop ecx
mov ecx, eax
call fcn.004e98b7
lea ecx, [ebp - 0x20]
call fcn.007a921e
push 1
pop esi
mov ecx, ebx
mov dword [ebx + 0x1ed8], esi
call fcn.007b4235
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 8
call fcn.00457cd2
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 4
call fcn.0064bb90
lea ecx, [ebp - 0x28]
call fcn.00403621
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.007a9210
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x1c