Function at 0x78f6e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xbc
mov edi, ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x790e30
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0x9a8878
mov dword [ebp - 0x74], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0xf
mov byte [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 0x920fc0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov dword [ebp - 0xac], 0x920fc0
cmp byte [edi + 0xc], 0
je 0x78f793
add edi, 0x88
jmp 0x7901b5
lea eax, [edi + 0x84]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x84]
test eax, eax
mov dword [ebp - 0x70], edi
je 0x78f7b4
cmp dword [eax + 0x18], 0x10
jb 0x78f7e7
mov ecx, dword [eax + 4]
jmp 0x78f7ea
mov dword [ebp - 0x10], 0x11
push 0x1c
call fcn.008ea17d
add esp, 4
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0xf
mov byte [eax + 4], 0
mov dword [eax], 0x920fc0
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov edi, dword [ebp - 0x70]
jmp 0x78f7f4
lea ecx, [eax + 4]
mov dword [eax + 0x14], 0
mov byte [ecx], 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x10], 0x11
cmp eax, 0x3e8
je 0x78f820
cmp eax, 0xfa0
je 0x78f820
cmp eax, 0x7d0
jne 0x78f8b1
cmp dword [ecx + 0x18], 0x10
jb 0x78f83d
mov ecx, dword [ecx + 4]
cmp dword [edx + 0x18], 0x10
jae 0x78f846
add edx, 4
cmp dword [esi + 0x18], 0x10
jae 0x78f84f
add esi, 4
jmp 0x78f852
add ecx, 4
cmp dword [edx + 0x18], 0x10
jb 0x78f82f
mov edx, dword [edx + 4]
cmp dword [esi + 0x18], 0x10
jb 0x78f838
mov esi, dword [esi + 4]
lea eax, [ebp - 0x90]
push ecx
push edx
push esi
push eax
call fcn.0078d580
add esp, 0x10
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x10]
cmp eax, 0x7cf
jg 0x78f891
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xac]
push 0xd803
call fcn.0078cd70
jmp 0x78f8ed
mov dword [ebp - 0x10], 0x11
lea ecx, [ebp - 0xac]
cmp eax, 0xf9f
ja 0x78f8e3
push 0xd801
call fcn.0078cd70
jmp 0x78f8ed
lea ecx, [ebp - 0xc8]
push eax
call fcn.0078cd70
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x24], ecx
test al, al
je 0x78fa29
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x18], 0x10
jb 0x7902c1
mov ecx, dword [ecx + 4]
jmp 0x7902c4
push 0xd802
call fcn.0078cd70
cmp dword [0xa5760c], 0
je 0x78f918
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.00792c60
mov ecx, eax
call fcn.007913b0
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], 0x10
jb 0x78f94a
mov eax, dword [eax + 4]
jmp 0x78f94d
call fcn.00791370
test eax, eax
je 0x78f98b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.00791370
mov ecx, eax
call fcn.007913b0
mov ecx, dword [eax + 0x14]
cmp dword [eax + 0x18], 0x10
jb 0x78faee
mov eax, dword [eax + 4]
jmp 0x78faf1
add eax, 4
mov esi, dword [ebp - 0x24]
lea edx, [esi + 4]
mov dword [ebp - 0x24], edx
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
mov edi, ebx
sub edi, edx
cmp edi, ecx
jae 0x78fb28
sub esp, 0x10
movzx edx, byte [ebp - 0x50]
mov byte [esp + 4], dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp], ecx
mov ecx, dword [ebp - 0x24]
call fcn.0066d8c0
jmp 0x78fb4a
lea ecx, [ebp - 0x31]
call fcn.00792fd0
mov dword [ebp - 0x10], 0x18
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x31]
push eax
call fcn.00792ff0
mov dword [ebp - 0x10], 0x19
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x50]
push 0
push eax
call fcn.00786a40
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
mov ebx, dword [ebp - 0x28]
jb 0x78f9f9
mov ecx, dword [ebp - 0x68]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x78f9ef
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x7908e9
add eax, 0x24
mov edx, eax
mov ecx, edi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov eax, dword [ebx]
test esi, esi
je 0x79031b
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x50]
push 0
lea eax, [ebp - 0x6c]
push eax
call fcn.00786a40
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x54], 0x10
jb 0x79038f
mov ecx, dword [ebp - 0x68]
jmp 0x790392
lea ecx, [ebp - 0xc8]
push 0xd800
call fcn.0078cd70
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0x920fc0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], 0x1c
lea ecx, [ebp - 0x50]
push eax
call fcn.0078d270
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x30], eax
mov esi, dword [ebp + 8]
cmp dword [esi + 0x14], 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
je 0x7904fe
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 2
mov word [ebp - 0x68], 0x202c
mov byte [ebp - 0x66], 0
mov dword [ebp - 0x6c], 0x920fc0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x790434
lea eax, [ebp - 0x68]
mov dword [ebp - 0x10], 0x1f
sub esp, 0x10
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
lea ecx, [ebp - 0x4c]
call fcn.0066d8c0
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
jmp 0x790450
add eax, 4
mov esi, dword [ebp - 0x24]
lea edx, [esi + 4]
mov dword [ebp - 0x24], edx
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
mov edi, ebx
sub edi, edx
cmp edi, ecx
jae 0x78fb28
sub esp, 0x10
movzx edx, byte [ebp - 0x50]
mov byte [esp + 4], dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp], ecx
mov ecx, dword [ebp - 0x24]
call fcn.0066d8c0
jmp 0x78fb4a
lea edi, [edx + ecx]
mov dword [esi + 0x14], edi
cmp ebx, 0x10
mov ebx, dword [ebp - 0x24]
jb 0x78fb39
mov ebx, dword [esi + 4]
add edx, ebx
push ecx
push eax
push edx
call fcn.00901d90
add esp, 0xc
mov byte [ebx + edi], 0
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp + 0x14]
cmp dword [edi + 0x14], 0
je 0x78fc91
mov ebx, dword [ebx]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 2
mov word [ebp - 0x4c], 0x202c
mov byte [ebp - 0x4a], 0
mov dword [ebp - 0x50], 0x920fc0
lea ecx, [ebx + 4]
mov eax, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
mov edx, esi
sub edx, eax
cmp edx, 2
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], ebx
jae 0x78fbc5
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x10], 0x17
sub esp, 0x10
movzx edx, byte [ebp - 0x6c]
mov byte [esp + 4], dl
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
call fcn.0066d8c0
mov edi, dword [ebp + 0x14]
jmp 0x78fbe5
lea edx, [eax + 2]
mov dword [ebx + 0x14], edx
mov edx, ecx
cmp esi, 0x10
jb 0x78fbd8
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 4]
movzx ecx, word [ebp - 0x4c]
mov word [edx + eax], cx
mov byte [edx + eax + 2], 0
mov eax, dword [edi + 0x14]
cmp dword [edi + 0x18], 0x10
jb 0x78fbf3
mov edi, dword [edi + 4]
jmp 0x78fbf6
add edi, 4
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x78fc31
mov dword [ebp - 0x10], 0x17
sub esp, 0x10
movzx ecx, byte [ebp - 0x6c]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp], eax
mov ecx, dword [ebp - 0x24]
call fcn.0066d8c0
mov ebx, dword [ebp - 0x28]
jmp 0x78fc59
lea esi, [ecx + eax]
mov dword [ebx + 0x14], esi
cmp edx, 0x10
jb 0x78fc42
mov edx, dword [ebx + 4]
mov dword [ebp - 0x24], edx
mov ebx, dword [ebp - 0x24]
add ecx, ebx
push eax
push edi
push ecx
call fcn.00901d90
add esp, 0xc
mov byte [ebx + esi], 0
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x78fc91
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x78fc87
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x7908c5
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov ecx, dword [ebx]
lea esi, [ebp - 0x4c]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 2
mov word [ebp - 0x4c], 0x203a
mov byte [ebp - 0x4a], 0
mov dword [ebp - 0x50], 0x920fc0
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x18]
mov edx, edi
sub edx, eax
mov dword [ebp - 0x24], ecx
add ecx, 4
cmp edx, 2
mov dword [ebp - 0x2c], ecx
jae 0x78fcfc
mov dword [ebp - 0x10], 0x16
sub esp, 0x10
movzx eax, byte [ebp - 0x6c]
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp + 0xc], 2
mov dword [esp], 2
call fcn.0066d8c0
mov esi, dword [ebp - 0x24]
jmp 0x78fd1c
lea edx, [eax + 2]
mov esi, dword [ebp - 0x24]
mov dword [esi + 0x14], edx
mov edx, ecx
cmp edi, 0x10
jb 0x78fd0f
mov edx, dword [esi + 4]
movzx ecx, word [ebp - 0x4c]
mov word [edx + eax], cx
mov byte [edx + eax + 2], 0
mov eax, dword [ebp - 0x98]
cmp dword [ebp - 0x94], 0x10
jb 0x78fd33
mov ecx, dword [ebp - 0xa8]
jmp 0x78fd39
lea ecx, [ebp - 0xa8]
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov ebx, esi
mov esi, edi
sub esi, edx
cmp esi, eax
jae 0x78fd73
mov dword [ebp - 0x10], 0x16
sub esp, 0x10
movzx edx, byte [ebp - 0x6c]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [ebp - 0x2c]
call fcn.0066d8c0
mov edi, dword [ebp - 0x28]
jmp 0x78fd98
lea esi, [edx + eax]
mov dword [ebx + 0x14], esi
cmp edi, 0x10
mov edi, dword [ebp - 0x2c]
jb 0x78fd84
mov edi, dword [ebx + 4]
add edx, edi
push eax
push ecx
push edx
call fcn.00901d90
add esp, 0xc
mov byte [edi + esi], 0
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x78fdd0
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x78fdc6
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x7908a1
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
cmp byte [ebp - 0x30], 0
je 0x78ffc4
mov edi, dword [edi]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 1
mov word [ebp - 0x4c], 0x20
mov dword [ebp - 0x50], 0x920fc0
lea ebx, [edi + 4]
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
cmp ecx, eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], ebx
jne 0x78fe41
mov dword [ebp - 0x10], 0x14
sub esp, 0x10
movzx eax, byte [ebp - 0x6c]
mov byte [esp + 4], al
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp], 1
mov ecx, ebx
call fcn.0066d8c0
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
jmp 0x78fe5d
lea edx, [eax + 1]
mov dword [edi + 0x14], edx
mov edx, ebx
cmp ecx, 0x10
jb 0x78fe51
mov edx, dword [edi + 4]
movzx ecx, byte [ebp - 0x4c]
mov byte [edx + eax], cl
mov byte [edx + eax + 1], 0
lea esi, [ebp - 0x68]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
push 0xa575b4
call fcn.008d08c0
add esp, 4
cmp eax, 0xf
mov dword [ebp - 0x24], esi
jbe 0x78feb3
mov dword [ebp - 0x10], 0x14
sub esp, 0xc
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp], eax
mov dword [esp + 8], 0xa575b4
mov ecx, esi
call fcn.0066cb40
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
jmp 0x78fecc
mov dword [ebp - 0x58], eax
push eax
push 0xa575b4
push esi
mov esi, eax
call fcn.00901d90
add esp, 0xc
mov byte [ebp + esi - 0x68], 0
mov dword [ebp - 0x6c], 0x920fc0
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x54], 0x10
jb 0x78fee2
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x24], ecx
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x78ff1c
mov dword [ebp - 0x10], 0x15
sub esp, 0x10
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x24]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, ebx
call fcn.0066d8c0
mov edi, dword [ebp - 0x30]
jmp 0x78ff44
lea esi, [ecx + eax]
mov dword [edi + 0x14], esi
cmp edx, 0x10
jb 0x78ff2a
mov ebx, dword [edi + 4]
add ecx, ebx
push eax
push dword [ebp - 0x24]
push ecx
call fcn.00901d90
add esp, 0xc
mov byte [ebx + esi], 0
mov dword [ebp - 0x10], 0x15
mov ecx, edi
mov eax, dword [ebp - 0x70]
push dword [eax + 0x10]
call fcn.0078d270
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
mov edi, dword [ebp - 0x28]
jb 0x78ff8c
mov ecx, dword [ebp - 0x68]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x78ff82
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x7908d1
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x78ffc4
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x78ffba
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x7908dd
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov edi, dword [edi]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x4c], 0x202d20
mov dword [ebp - 0x50], 0x920fc0
lea ecx, [edi + 4]
mov eax, dword [edi + 0x14]
mov esi, dword [edi + 0x18]
mov edx, esi
sub edx, eax
cmp edx, 3
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x30], edi
jae 0x79002c
mov dword [ebp - 0x10], 0x12
sub esp, 0x10
movzx eax, byte [ebp - 0x6c]
mov byte [esp + 4], al
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp], 3
call fcn.0066d8c0
mov edi, dword [ebp - 0x30]
jmp 0x790053
lea edx, [eax + 3]
mov dword [edi + 0x14], edx
mov edx, ecx
cmp esi, 0x10
lea esi, [ebp - 0x4c]
jb 0x79003f
mov edx, dword [edi + 4]
movzx ecx, word [esi]
movzx ebx, byte [esi + 2]
mov byte [edx + eax + 2], bl
mov word [edx + eax], cx
mov byte [edx + eax + 3], 0
mov eax, dword [ebp - 0x7c]
cmp dword [ebp - 0x78], 0x10
jb 0x790064
mov ecx, dword [ebp - 0x8c]
jmp 0x79006a
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x70]
mov edx, dword [edi + 0x14]
mov ebx, dword [edi + 0x18]
mov esi, ebx
sub esi, edx
cmp esi, eax
jae 0x7900a8
mov dword [ebp - 0x10], 0x12
sub esp, 0x10
movzx edx, byte [ebp - 0x6c]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x24]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0066d8c0
mov esi, dword [ebp - 0x30]
jmp 0x7900d1
lea esi, [edx + eax]
mov dword [edi + 0x14], esi
mov edi, ecx
cmp ebx, 0x10
jb 0x7900bb
mov ecx, dword [ebp - 0x30]
mov edi, dword [ecx + 4]
add edx, edi
push eax
push dword [ebp - 0x24]
push edx
call fcn.00901d90
add esp, 0xc
mov byte [edi + esi], 0
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 1
mov word [ebp - 0x68], 0x2e
mov dword [ebp - 0x6c], 0x920fc0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
cmp ecx, eax
jne 0x79012b
lea eax, [ebp - 0x68]
mov dword [ebp - 0x10], 0x13
sub esp, 0x10
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp], 1
mov ecx, dword [ebp - 0x70]
call fcn.0066d8c0
mov edi, dword [ebp - 0x28]
jmp 0x790145
lea edx, [eax + 1]
mov dword [esi + 0x14], edx
cmp ecx, 0x10
mov ecx, dword [ebp - 0x70]
jb 0x79013c
mov ecx, dword [esi + 4]
mov word [ecx + eax], 0x2e
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x79017d
mov ecx, dword [ebp - 0x68]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x790173
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x7908ad
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x7901b5
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x7901ab
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x7908b9
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov esi, dword [edi]
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0x18]
mov eax, dword [ebp - 0x94]
cmp eax, 0x10
jb 0x790201
mov ecx, dword [ebp - 0xa8]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x7901f7
mov dword [ebp - 0x28], edi
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x79087d
add eax, 0x24
mov edx, eax
mov ecx, edi
mov edi, dword [ebp - 0x28]
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov eax, dword [ebp - 0xb0]
cmp eax, 0x10
jb 0x790245
mov ecx, dword [ebp - 0xc4]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x79023b
mov dword [ebp - 0x28], edi
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x790889
add eax, 0x24
mov edx, eax
mov ecx, edi
mov edi, dword [ebp - 0x28]
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov dword [ebp - 0x90], 0x9a8878
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x79025f
push eax
call fcn.008ea1ce
add esp, 4
mov eax, dword [ebp - 0x78]
cmp eax, 0x10
jb 0x7902a0
mov ecx, dword [ebp - 0x8c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x790296
mov dword [ebp - 0x28], edi
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x790895
add eax, 0x24
mov edx, eax
mov ecx, edi
mov edi, dword [ebp - 0x28]
push edx
push ecx
call fcn.008ea1ad
add esp, 8
add esi, 4
cmp ebx, 0x10
cmovae esi, edi
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, esi
add esp, 0xbc
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
add ecx, 4
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp dword [edx + 0x18], 0x10
jb 0x7902de
mov edx, dword [edx + 4]
cmp dword [esi + 0x18], 0x10
jae 0x7902e7
add esi, 4
jmp 0x7902ea
add edx, 4
cmp dword [esi + 0x18], 0x10
jb 0x7902d9
mov esi, dword [esi + 4]
cmp dword [ebp - 0xb0], 0x10
jb 0x7902fc
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x24], eax
mov al, 1
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x90]
push ecx
push edx
push esi
push dword [ebp - 0x24]
push eax
call fcn.0078d580
add esp, 0x14
jmp 0x78f86b
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 9
mov dword [ebp - 0x68], 0x6b6e753c
mov dword [ebp - 0x64], 0x6e776f6e
mov word [ebp - 0x60], 0x3e
mov dword [ebp - 0x6c], 0x920fc0
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
mov esi, dword [eax + 0x18]
mov edi, esi
sub edi, edx
cmp edi, 9
jae 0x7907d9
mov dword [ebp - 0x10], 0x1b
sub esp, 0x10
movzx edx, byte [ebp - 0x20]
mov byte [esp + 4], dl
lea eax, [ebp - 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 9
mov dword [esp], 9
call fcn.0066d8c0
mov ebx, dword [ebp - 0x28]
jmp 0x790800
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x24]
lea esi, [ecx + 4]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov edi, ebx
sub edi, edx
cmp edi, eax
jae 0x7903d5
mov dword [ebp - 0x10], 0x1a
sub esp, 0x10
movzx edx, byte [ebp - 0x20]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, esi
call fcn.0066d8c0
mov ebx, dword [ebp - 0x28]
jmp 0x7903f9
lea edi, [edx + eax]
mov dword [ecx + 0x14], edi
cmp ebx, 0x10
jb 0x7903e3
mov esi, dword [ecx + 4]
add edx, esi
push eax
push dword [ebp - 0x2c]
push edx
call fcn.00901d90
add esp, 0xc
mov byte [esi + edi], 0
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x790838
mov ecx, dword [ebp - 0x68]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x79082e
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jb 0x790827
mov dword [ebp - 0x10], 6
call fcn.008cd651
lea edx, [eax + 2]
mov dword [ebp - 0x3c], edx
lea edx, [ebp - 0x4c]
cmp ecx, 0x10
jb 0x790445
mov edx, dword [ebp - 0x4c]
mov word [edx + eax], 0x202c
mov byte [edx + eax + 2], 0
mov eax, dword [esi + 0x14]
cmp dword [esi + 0x18], 0x10
jb 0x79045e
mov esi, dword [esi + 4]
jmp 0x790461
add esi, 4
mov dword [ebp - 0x2c], esi
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x79049f
mov dword [ebp - 0x10], 0x1f
sub esp, 0x10
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [ebp - 0x4c]
call fcn.0066d8c0
mov ebx, dword [ebp + 0x10]
jmp 0x7904c3
lea esi, [ecx + eax]
mov dword [ebp - 0x3c], esi
lea edi, [ebp - 0x4c]
cmp edx, 0x10
jb 0x7904b0
mov edi, dword [ebp - 0x4c]
add ecx, edi
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.00901d90
add esp, 0xc
mov byte [edi + esi], 0
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x7904fb
mov ecx, dword [ebp - 0x68]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x7904f1
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x79090d
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x14], 0
je 0x79062d
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 2
mov word [ebp - 0x68], 0x202c
mov byte [ebp - 0x66], 0
mov dword [ebp - 0x6c], 0x920fc0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x790568
lea eax, [ebp - 0x68]
mov dword [ebp - 0x10], 0x1e
sub esp, 0x10
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
lea ecx, [ebp - 0x4c]
call fcn.0066d8c0
jmp 0x790584
lea edx, [eax + 2]
mov dword [ebp - 0x3c], edx
lea edx, [ebp - 0x4c]
cmp ecx, 0x10
jb 0x790579
mov edx, dword [ebp - 0x4c]
mov word [edx + eax], 0x202c
mov byte [edx + eax + 2], 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x14]
cmp dword [ebx + 0x18], 0x10
jb 0x790595
mov ebx, dword [ebx + 4]
jmp 0x790598
add ebx, 4
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x7905d0
mov dword [ebp - 0x10], 0x1e
sub esp, 0x10
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [ebp - 0x4c]
call fcn.0066d8c0
mov ebx, dword [ebp + 0x10]
jmp 0x7905f5
lea esi, [ecx + eax]
mov dword [ebp - 0x3c], esi
lea edi, [ebp - 0x4c]
cmp edx, 0x10
jb 0x7905e1
mov edi, dword [ebp - 0x4c]
add ecx, edi
push eax
push ebx
push ecx
call fcn.00901d90
add esp, 0xc
mov byte [edi + esi], 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x79062d
mov ecx, dword [ebp - 0x68]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x790623
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x790919
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
cmp dword [ebx + 0x14], 0
je 0x79075d
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 2
mov word [ebp - 0x68], 0x202c
mov byte [ebp - 0x66], 0
mov dword [ebp - 0x6c], 0x920fc0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x79069a
lea eax, [ebp - 0x68]
mov dword [ebp - 0x10], 0x1d
sub esp, 0x10
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp], 2
lea ecx, [ebp - 0x4c]
call fcn.0066d8c0
mov ebx, dword [ebp + 0x10]
jmp 0x7906b6
lea edx, [eax + 2]
mov dword [ebp - 0x3c], edx
lea edx, [ebp - 0x4c]
cmp ecx, 0x10
jb 0x7906ab
mov edx, dword [ebp - 0x4c]
mov word [edx + eax], 0x202c
mov byte [edx + eax + 2], 0
mov eax, dword [ebx + 0x14]
cmp dword [ebx + 0x18], 0x10
jb 0x7906c4
mov ebx, dword [ebx + 4]
jmp 0x7906c7
add ebx, 4
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x7906fc
mov dword [ebp - 0x10], 0x1d
sub esp, 0x10
movzx ecx, byte [ebp - 0x20]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [ebp - 0x4c]
call fcn.0066d8c0
jmp 0x79071e
lea esi, [ecx + eax]
mov dword [ebp - 0x3c], esi
lea edi, [ebp - 0x4c]
cmp edx, 0x10
jb 0x79070d
mov edi, dword [ebp - 0x4c]
add ecx, edi
push eax
push ebx
push ecx
call fcn.00901d90
add esp, 0xc
mov byte [edi + esi], 0
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x790756
mov ecx, dword [ebp - 0x68]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x79074c
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x790925
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov dword [ebp - 0x10], 0x1c
cmp dword [ebp - 0x38], 0x10
jb 0x790769
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0xb0], 0x10
jb 0x79077b
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0x1c
lea eax, [ebp - 0x90]
push dword [ebp - 0x30]
push dword [ebp - 0x24]
push eax
call fcn.0078d580
add esp, 0xc
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x7907cf
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x7907c5
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x790901
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov al, 1
mov dword [ebp - 0x30], eax
jmp 0x78f86b
lea edi, [edx + 9]
mov dword [eax + 0x14], edi
cmp esi, 0x10
jb 0x7907e7
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x68]
movsd xmm0, qword [eax]
movzx eax, byte [eax + 8]
mov byte [ecx + edx + 8], al
movsd qword [ecx + edx], xmm0
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x790838
mov ecx, dword [ebp - 0x68]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x79082e
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x790931
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x790870
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x790866
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x7908f5
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.008ea1ad
add esp, 8
lea ecx, [ebp - 0x31]
call fcn.0078b1d0
jmp 0x78fb4d
mov dword [ebp - 0x10], 0xe
call fcn.008cd651
mov dword [ebp - 0x10], 0xf
call fcn.008cd651
mov dword [ebp - 0x10], 0x10
call fcn.008cd651
mov dword [ebp - 0x10], 9
call fcn.008cd651
mov dword [ebp - 0x10], 0xc
call fcn.008cd651
mov dword [ebp - 0x10], 0xd
call fcn.008cd651
mov dword [ebp - 0x10], 8
call fcn.008cd651
mov dword [ebp - 0x10], 0xa
call fcn.008cd651
mov dword [ebp - 0x10], 0xb
call fcn.008cd651
mov dword [ebp - 0x10], 4
call fcn.008cd651
mov dword [ebp - 0x10], 7
call fcn.008cd651
mov dword [ebp - 0x10], 3
call fcn.008cd651
mov dword [ebp - 0x10], 0
call fcn.008cd651
mov dword [ebp - 0x10], 1
call fcn.008cd651
mov dword [ebp - 0x10], 2
call fcn.008cd651
mov dword [ebp - 0x10], 5
call fcn.008cd651
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
call fcn.00901a00
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
call fcn.00901a00
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
call fcn.00901a00
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
call fcn.00901a00
nop dword [eax]
push ebp
sub esp, 0x14
add ebp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00657390
add esp, 0x14
pop ebp
ret