Function at 0x1007bcf8
Capabilities:
Encode data using xor

Disassembly:
push 0x510
mov eax, 0x100b0742
call fcn.1008a8d6
mov edi, ecx
mov dword [ebp - 0x4c8], edi
lea eax, [ebp - 0x4d8]
mov ecx, 0x100ee9d8
push eax
push edi
push dword [edi + 0x828]
call fcn.10088cfd
cmp eax, 0xffffffff
jne 0x1007bd4b
cmp dword [ebp - 0x4d8], 0x2746
jne 0x1007bd3c
xor eax, eax
jmp 0x1007bd4b
cmp dword [ebp - 0x4d8], 0
je 0x1007bd4b
cmp byte [edi + 4], 0
je 0x1007bd97
cmp byte [edi + 4], 0
jne 0x1007bda6
test eax, eax
jg 0x1007bd0f
xor ecx, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x4b0], ecx
lea ecx, [edi + 0x7f8]
movlpd qword [ebp - 0x4d4], xmm0
call fcn.10080c33
mov esi, eax
test esi, esi
je 0x1007be9a
mov edx, dword [ebp - 0x4d0]
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x4b4], edx
mov dword [ebp - 0x4ac], eax
jmp 0x1007bdb4
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
mov byte [edi + 4], 1
call dword [eax + 0x24]
xor al, al
call fcn.1008a894
ret
mov eax, dword [ebp - 0x4ac]
cmp dword [esi + 0x34], 0
jne 0x1007be48
or eax, edx
jne 0x1007bdd5
call fcn.10074510
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4b4], edx
jmp 0x1007bddb
mov eax, dword [ebp - 0x4ac]
push edx
push eax
movzx eax, byte [esi + 0x18]
mov ecx, edi
push 1
push eax
push dword [esi + 0x14]
movzx eax, byte [esi + 0xc]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push dword [esi + 0x30]
call fcn.1007d2b7
test al, al
jne 0x1007be11
push 1
push dword [esi + 0x30]
call fcn.1008a864
pop ecx
pop ecx
cmp dword [esi + 0x1c], 0
je 0x1007be5e
push 0x100cc898
lea ecx, [esi + 0x10]
call fcn.10075970
test al, al
je 0x1007be5e
push 1
push 1
push dword [esi + 0x14]
mov ecx, edi
push dword [esi + 0x10]
call fcn.1007b203
test eax, eax
je 0x1007be5e
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x83c], ecx
jmp 0x1007be5e
movzx eax, byte [esi + 0xc]
mov ecx, edi
push eax
push 1
push 0
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.1007d0aa
mov eax, dword [edi + 0x800]
lea ecx, [edi + 0x7f8]
inc dword [edi + 0x808]
mov byte [eax + 0x38], 0
mov eax, dword [edi + 0x800]
mov eax, dword [eax + 0x3c]
mov dword [edi + 0x800], eax
call fcn.10080c33
mov edx, dword [ebp - 0x4b4]
mov esi, eax
test esi, esi
jne 0x1007bdae
jmp 0x1007beb2
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x4ac], eax
lea ecx, [edi + 0x3c8]
call fcn.10080c4d
mov ecx, eax
mov dword [ebp - 0x4b8], ecx
mov esi, ecx
test ecx, ecx
je 0x1007c07f
mov eax, dword [ebp - 0x4ac]
or eax, dword [ebp - 0x4b4]
jne 0x1007bf08
call fcn.10074510
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4b4], eax
call fcn.1008b360
mov dword [ebp - 0x4b0], eax
jmp 0x1007bf0e
mov eax, dword [ebp - 0x4b0]
cmp dword [esi + 8], eax
jae 0x1007c05a
mov al, byte [esi + 0xc]
mov ecx, esi
push 0x100cc898
mov byte [ebp - 0x499], al
call fcn.10075953
mov cl, byte [ebp - 0x499]
mov byte [ebp - 0x494], al
cmp cl, 6
je 0x1007bfc3
test al, al
jne 0x1007bfc3
mov eax, dword [ebp - 0x4b0]
xor ecx, ecx
inc byte [esi + 0xc]
add eax, 0x3e8
mov dword [esi + 8], eax
mov byte [ebp - 0x4a8], 0x18
mov dword [ebp - 0x4c4], ecx
cmp dword [edi + 0x3c0], ecx
jbe 0x1007bf9e
mov eax, dword [edi + 0x3bc]
lea edx, [ebp - 0x4a8]
push dword [esi + 4]
push dword [esi]
mov ecx, dword [eax + ecx*4]
push 0x18
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0x4c4]
inc ecx
mov dword [ebp - 0x4c4], ecx
cmp ecx, dword [edi + 0x3c0]
jb 0x1007bf6d
movzx eax, word [esi + 4]
mov ecx, 0x100ee9d8
push eax
push dword [esi]
lea eax, [ebp - 0x4a8]
push 3
push eax
push dword [edi + 0x828]
call fcn.10088e54
jmp 0x1007c05a
cmp dword [esi + 0x10], 0
je 0x1007bfe2
push dword [esi + 0x10]
call fcn.1008b0fd
and dword [esi + 0x10], 0
mov al, byte [ebp - 0x494]
pop ecx
mov cl, byte [ebp - 0x499]
cmp cl, 6
jne 0x1007c026
test al, al
jne 0x1007c026
cmp dword [esi + 0x118], 1
jne 0x1007c026
push 1
call fcn.1007d66d
pop ecx
push eax
mov ecx, dword [eax + 0x14]
mov byte [ecx], 0x1d
mov dword [eax + 0x10], 8
mov ecx, dword [esi]
mov dword [eax + 4], ecx
mov cx, word [esi + 4]
mov word [eax + 8], cx
mov ecx, 0xffff
mov word [eax], cx
mov ecx, edi
call fcn.1008081d
cmp esi, dword [ebp - 0x4b8]
jne 0x1007c04e
lea esi, [edi + 0x3c8]
mov ecx, esi
call fcn.10080c6d
mov ecx, esi
call fcn.10080c4d
mov ecx, eax
mov dword [ebp - 0x4b8], ecx
mov esi, ecx
jmp 0x1007c06d
or dword [esi], 0xffffffff
mov eax, 0xffff
mov word [esi + 4], ax
lea ecx, [edi + 0x3c8]
call fcn.10080c4d
mov ecx, dword [ebp - 0x4b8]
mov esi, eax
test esi, esi
jne 0x1007becf
test ecx, ecx
je 0x1007c07f
mov dword [edi + 0x3c8], ecx
xor ecx, ecx
xor eax, eax
cmp cx, word [edi + 8]
jmp 0x1007ce57
imul esi, eax, 0x840
add esi, dword [edi + 0x340]
mov dword [ebp - 0x4c4], esi
cmp byte [esi], 0
je 0x1007ce4a
mov eax, dword [esi + 4]
mov dword [ebp - 0x4a4], eax
mov ax, word [esi + 8]
mov word [ebp - 0x4a0], ax
mov eax, dword [ebp - 0x4ac]
or eax, dword [ebp - 0x4b4]
jne 0x1007c0f4
call fcn.10074510
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4b4], eax
call fcn.1008b360
mov dword [ebp - 0x4b0], eax
jmp 0x1007c0fa
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [esi + 0x700]
cmp eax, ecx
jbe 0x1007c169
sub eax, ecx
cmp eax, 0x1388
jbe 0x1007c169
cmp dword [esi + 0x83c], 8
jne 0x1007c169
lea ecx, [esi + 0x18]
call fcn.100822ee
xor ecx, ecx
cmp dword [eax + 0x60], ecx
jne 0x1007c169
push dword [ebp - 0x4b4]
lea eax, [ebp - 0x494]
mov byte [ebp - 0x494], 0x17
push dword [ebp - 0x4ac]
push ecx
push ecx
push dword [esi + 8]
push dword [esi + 4]
push ecx
push 8
push 3
push 8
push eax
mov ecx, edi
call fcn.1007d2b7
lea ecx, [esi + 0x18]
call fcn.100813f8
add eax, dword [ebp - 0x4b0]
mov dword [esi + 0x700], eax
lea eax, [edi + 0x3bc]
push eax
push dword [ebp - 0x4b4]
lea ecx, [esi + 0x18]
push dword [ebp - 0x4ac]
push dword [edi + 0x81c]
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
push dword [edi + 0x828]
call fcn.10081c64
lea ecx, [esi + 0x18]
call fcn.10082298
test al, al
jne 0x1007cdc4
mov eax, dword [esi + 0x83c]
cmp eax, 1
je 0x1007c1bc
cmp eax, 2
jne 0x1007c1cc
lea ecx, [esi + 0x18]
call fcn.1008237f
test al, al
je 0x1007cdc4
cmp dword [esi + 0x83c], 3
jne 0x1007c1e5
lea ecx, [esi + 0x18]
call fcn.100823d0
test al, al
je 0x1007cdc4
mov eax, dword [esi + 0x83c]
cmp eax, 4
je 0x1007c1ff
cmp eax, 5
je 0x1007c1ff
cmp eax, 6
je 0x1007c1ff
cmp eax, 7
jne 0x1007c21c
mov ecx, dword [esi + 0x818]
mov eax, dword [ebp - 0x4b0]
cmp eax, ecx
jbe 0x1007c21c
sub eax, ecx
cmp eax, 0x2710
ja 0x1007cdc4
lea ecx, [esi + 0x18]
call fcn.10082291
test al, al
je 0x1007c267
push 1
call fcn.1007d66d
pop ecx
push eax
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x10], 8
mov byte [ecx], 0x26
mov ecx, dword [ebp - 0x4a4]
mov dword [eax + 4], ecx
mov cx, word [ebp - 0x4a0]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x4a8]
mov word [eax], cx
mov ecx, edi
call fcn.1008081d
jmp 0x1007ce4a
cmp dword [esi + 0x83c], 8
jne 0x1007c2b2
mov eax, dword [ebp - 0x4b0]
cmp eax, dword [esi + 0x6fc]
jbe 0x1007c2b2
cmp byte [edi + 6], 0
jne 0x1007c292
mov ecx, 0xffff
cmp word [esi + 0x6f8], cx
jne 0x1007c2b2
add eax, 0x1388
mov ecx, edi
push 1
mov dword [esi + 0x6fc], eax
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
call fcn.1007cf68
lea eax, [ebp - 0x498]
lea ecx, [esi + 0x18]
push eax
call fcn.10081a91
mov dword [ebp - 0x4b8], eax
test eax, eax
jle 0x1007ce4a
lea ecx, [esi + 0x18]
mov dword [ebp - 0x4d0], ecx
add eax, 7
sar eax, 3
cmp dword [edi + 0x7e0], 0
mov dword [ebp - 0x4bc], eax
je 0x1007c419
push 0x240
lea ecx, [ebp - 0x154]
call fcn.1006f997
and dword [ebp - 4], 0
lea ecx, [ebp - 0x154]
call fcn.1006fa54
push dword [ebp - 0x4bc]
lea ecx, [ebp - 0x154]
push dword [ebp - 0x498]
call fcn.1006fd3f
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x4c0], edx
lea ecx, [edx + 7]
sar ecx, 3
add dword [edi + 0x7ec], ecx
test edx, edx
je 0x1007c3fb
push ecx
call fcn.1008b0f4
mov ecx, dword [ebp - 0x154]
mov esi, eax
add ecx, 7
sar ecx, 3
push ecx
push dword [ebp - 0x148]
push esi
call fcn.1008d330
add esp, 0x10
lea ecx, [ebp - 0x154]
call fcn.1006fa54
mov ecx, dword [edi + 0x7e0]
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x4c0]
push esi
call fcn.100716dc
mov ecx, dword [ebp - 0x154]
push esi
lea ecx, [ecx + 7]
sar ecx, 3
add dword [edi + 0x7f4], ecx
call fcn.1008b0fd
mov esi, dword [ebp - 0x154]
pop ecx
lea esi, [esi + 7]
sar esi, 3
mov dword [ebp - 0x4c0], esi
cmp esi, dword [ebp - 0x4bc]
jle 0x1007c3dd
push dword [ebp - 0x498]
call fcn.1008b0fd
push esi
call fcn.1008b0f4
pop ecx
pop ecx
mov dword [ebp - 0x498], eax
jmp 0x1007c3e3
mov eax, dword [ebp - 0x498]
push esi
push dword [ebp - 0x148]
push eax
call fcn.1008d330
mov esi, dword [ebp - 0x4c4]
add esp, 0xc
jmp 0x1007c402
and dword [ebp - 0x4c0], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.1006fa3b
mov eax, dword [ebp - 0x4c0]
jmp 0x1007c41f
mov dword [ebp - 0x4c0], eax
cmp dword [esi + 0x83c], 6
jne 0x1007c4a3
mov ecx, dword [ebp - 0x498]
cmp byte [ecx], 0xb
jne 0x1007c44e
push eax
push ecx
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
push esi
call fcn.1007b2bf
jmp 0x1007cd3f
push 0
push 1
push 0
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1007d0aa
mov eax, dword [edi]
lea ecx, [esi + 0x18]
mov edi, dword [eax + 0x64]
call fcn.100813f8
push dword [ebp - 0x4a0]
mov esi, eax
mov eax, dword [ebp - 0x4c8]
push dword [ebp - 0x4a4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xb8]
mov ecx, eax
call edx
mov ecx, dword [ebp - 0x4c8]
push esi
push eax
call edi
jmp 0x1007cd3f
mov edx, dword [ebp - 0x498]
mov cl, byte [edx]
cmp cl, 0xb
jne 0x1007c4de
cmp dword [esi + 0x83c], 8
je 0x1007cafa
push eax
push edx
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
push esi
call fcn.1007b2bf
mov edx, dword [ebp - 0x498]
jmp 0x1007cafa
cmp cl, 0x1e
jne 0x1007c600
cmp eax, 7
jne 0x1007c87b
cmp dword [esi + 0x83c], 5
je 0x1007c51b
cmp dword [esi + 0x83c], eax
je 0x1007c51b
lea eax, [edi + 0x234]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.10075953
test al, al
je 0x1007cd3f
push 1
mov dword [esi + 0x83c], 8
mov ecx, edi
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
call fcn.1007cf68
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1007ce86
push 0
push 7
push dword [ebp - 0x498]
lea ecx, [ebp - 0x154]
call fcn.1006f9d4
push 8
lea ecx, [ebp - 0x154]
mov dword [ebp - 4], 1
call fcn.1006fc46
push 1
push 0x20
lea eax, [ebp - 0x4f4]
push eax
lea ecx, [ebp - 0x154]
call fcn.1006fdc8
push 1
push 0x10
lea eax, [ebp - 0x4f0]
push eax
lea ecx, [ebp - 0x154]
call fcn.1006fdc8
mov eax, dword [ebp - 0x4f4]
mov dword [esi + 0xc], eax
mov ax, word [ebp - 0x4f0]
mov word [esi + 0x10], ax
push dword [ebp - 0x498]
push 7
call fcn.1007d68b
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4b8]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x4a4]
mov dword [eax + 4], ecx
mov cx, word [ebp - 0x4a0]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x4a8]
mov word [eax], cx
mov ecx, edi
push eax
call fcn.1008081d
lea ecx, [ebp - 0x154]
jmp 0x1007c8dc
cmp cl, 9
jne 0x1007c763
cmp eax, 9
jne 0x1007c87b
push 0
push eax
push edx
lea ecx, [ebp - 0x154]
call fcn.1006f9d4
push 8
lea ecx, [ebp - 0x154]
mov dword [ebp - 4], 2
call fcn.1006fc46
push 1
push 0x20
lea eax, [ebp - 0x4cc]
push eax
lea ecx, [ebp - 0x154]
call fcn.1006fdc8
push 1
push 0x20
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x154]
call fcn.1006fdc8
call fcn.10074510
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4b4], eax
call fcn.1008b360
mov dword [ebp - 0x4b0], eax
cmp eax, dword [ebp - 0x4cc]
jbe 0x1007c69c
mov edx, eax
sub edx, dword [ebp - 0x4cc]
jmp 0x1007c69e
xor edx, edx
mov ecx, dword [esi + 0x6f4]
movzx eax, word [esi + ecx*8 + 0x6cc]
test eax, eax
je 0x1007c6c7
imul eax, eax, 3
cmp edx, eax
jae 0x1007c752
cmp edx, 0x4b0
jae 0x1007c752
movzx edi, dx
mov word [esi + ecx*8 + 0x6cc], di
mov eax, dword [ebp - 0x4cc]
add eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x4e0]
shr eax, 1
sub ecx, eax
mov eax, dword [esi + 0x6f4]
mov dword [esi + eax*8 + 0x6d0], ecx
mov ecx, 0xffff
movzx eax, word [esi + 0x6f8]
cmp ax, cx
je 0x1007c70a
cmp eax, edx
jle 0x1007c711
mov word [esi + 0x6f8], di
cmp edx, 0x2710
jb 0x1007c730
push 0x11e6
push str.C:UsersAdministratorDesktopgta_saSAMP_SDKSAMP_API_REMASTEREDSAMPRakNetRakPeer.cpp
push str.ping___10000
call fcn.1009efb2
add esp, 0xc
push edi
lea ecx, [esi + 0x18]
call fcn.100822a7
mov eax, dword [esi + 0x6f4]
inc eax
mov dword [esi + 0x6f4], eax
cmp eax, 5
jne 0x1007c752
and dword [esi + 0x6f4], 0
push dword [ebp - 0x498]
call fcn.1008b0fd
pop ecx
jmp 0x1007c5f5
cmp cl, 6
jne 0x1007c867
cmp eax, 5
jne 0x1007c87b
push 0
push eax
push edx
lea ecx, [ebp - 0x268]
call fcn.1006f9d4
push 8
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 3
call fcn.1006fc46
push 1
push 0x20
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x268]
call fcn.1006fdc8
lea ecx, [ebp - 0x154]
call fcn.1006f97c
push 1
push 8
lea eax, [ebp - 0x494]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x154]
mov byte [ebp - 0x494], 9
call fcn.1006fc99
call fcn.100744bf
mov esi, eax
lea ecx, [ebp - 0x154]
mov eax, dword [ebp - 0x4e4]
push 1
mov dword [ebp - 0x4bc], eax
lea eax, [ebp - 0x4bc]
push 0x20
push eax
mov dword [ebp - 0x4b0], esi
call fcn.1006fc99
push 1
push 0x20
lea eax, [ebp - 0x4bc]
mov dword [ebp - 0x4bc], esi
push eax
lea ecx, [ebp - 0x154]
call fcn.1006fc99
xor eax, eax
mov ecx, edi
push eax
push esi
push eax
push eax
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
push eax
push 6
push eax
push dword [ebp - 0x154]
push dword [ebp - 0x148]
call fcn.1007d2b7
push dword [ebp - 0x498]
call fcn.1008b0fd
pop ecx
lea ecx, [ebp - 0x154]
call fcn.1006fa3b
jmp 0x1007c8d6
cmp cl, 0x20
jne 0x1007c87b
mov dword [esi + 0x83c], 3
jmp 0x1007cd3f
cmp cl, 0x11
jne 0x1007c8ea
push 0
push eax
push edx
lea ecx, [ebp - 0x268]
call fcn.1006f9d4
push 8
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 5
call fcn.1006fc46
push 1
push 8
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x268]
call fcn.1007003d
push dword [ebp - 0x4e8]
lea ecx, [esi + 0x830]
call fcn.10086fa3
push dword [ebp - 0x498]
call fcn.1008b0fd
pop ecx
lea ecx, [ebp - 0x268]
or dword [ebp - 4], 0xffffffff
call fcn.1006fa3b
jmp 0x1007cd93
cmp cl, 0xa
jne 0x1007c909
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1007ce86
jmp 0x1007cd3f
cmp cl, 0x29
jne 0x1007c945
lea ecx, [esi + 0x704]
call fcn.1006fa54
mov eax, dword [ebp - 0x4c0]
lea ecx, [esi + 0x704]
dec eax
push eax
mov eax, dword [ebp - 0x498]
inc eax
push eax
call fcn.1006fa5c
push dword [ebp - 0x498]
push dword [ebp - 0x4c0]
jmp 0x1007cd5e
cmp cl, 0xf
jne 0x1007c961
cmp eax, 0x39
jne 0x1007cd4d
push edx
push esi
mov ecx, edi
call fcn.1007bb23
jmp 0x1007cd3f
cmp cl, 0x10
jne 0x1007caec
cmp eax, 0x35
jne 0x1007cd4d
lea ecx, [ebp - 0xf4]
call fcn.1008703b
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 6
call fcn.10087058
push 4
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10087084
push 2
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10087084
push 0x14
lea eax, [edi + 0x9ac]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10087084
lea ecx, [ebp - 0xf4]
call fcn.1008720c
mov esi, dword [ebp - 0x498]
lea ecx, [ebp - 0xf4]
call fcn.10087451
xor edx, edx
mov ecx, dword [eax + edx*4]
cmp ecx, dword [esi + edx*4 + 1]
jne 0x1007c9fb
inc edx
cmp edx, 5
jne 0x1007c9ea
jmp 0x1007ca6f
lea ecx, [ebp - 0xf4]
call fcn.10087058
push 4
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10087084
push 2
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10087084
push 0x14
lea eax, [edi + 0x9c0]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10087084
lea ecx, [ebp - 0xf4]
call fcn.1008720c
mov esi, dword [ebp - 0x498]
lea ecx, [ebp - 0xf4]
call fcn.10087451
xor edx, edx
mov ecx, dword [eax + edx*4]
cmp ecx, dword [esi + edx*4 + 1]
jne 0x1007cacc
inc edx
cmp edx, 5
jne 0x1007ca60
mov esi, dword [ebp - 0x498]
lea edi, [ebp - 0x51c]
push 8
pop ecx
add esi, 0x15
lea eax, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x4c8]
push eax
lea eax, [ebp - 0x51c]
push eax
lea ecx, [edi + 0x84c]
call fcn.10080e6e
mov edx, dword [ebp - 0x498]
xor ecx, ecx
mov al, byte [edx + ecx + 1]
xor al, byte [ebp + ecx - 0x40]
mov byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0x10
jl 0x1007caa7
push 1
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
push dword [ebp - 0x4c4]
call fcn.1007b365
push dword [ebp - 0x498]
call fcn.1008b0fd
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0xf4]
call fcn.1008704d
jmp 0x1007cd93
cmp cl, 0x17
jne 0x1007cb00
cmp eax, 1
jne 0x1007cd4d
push edx
jmp 0x1007cd45
cmp cl, 0x22
jne 0x1007cd4d
cmp eax, 0xd
jne 0x1007cd4d
mov eax, dword [esi + 0x83c]
cmp eax, 5
je 0x1007cb2f
cmp eax, 4
je 0x1007cb2f
cmp byte [edi + 0x9d4], 0
jne 0x1007cb2f
xor cl, cl
jmp 0x1007cb3c
mov cl, 1
mov byte [ebp - 0x499], cl
cmp eax, 5
je 0x1007cb43
mov byte [ebp - 0x499], 0
push 0
test cl, cl
je 0x1007cd2a
push 0xd
push edx
lea ecx, [ebp - 0x490]
call fcn.1006f9d4
push 8
lea ecx, [ebp - 0x490]
mov dword [ebp - 4], 7
call fcn.1006fc46
push 1
push 0x20
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x490]
call fcn.1006fdc8
push 1
push 0x10
lea eax, [ebp - 0x4f8]
push eax
lea ecx, [ebp - 0x490]
call fcn.1006fdc8
push 1
push 0x10
lea eax, [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x490]
call fcn.1006fdc8
cmp byte [ebp - 0x499], 0
mov eax, dword [ebp - 0x4fc]
mov dword [esi + 0xc], eax
mov ax, word [ebp - 0x4f8]
mov word [esi + 0x10], ax
mov dword [esi + 0x83c], 8
jne 0x1007cbf4
cmp byte [esi + 0x82c], 0
lea ecx, [esi + 0x18]
je 0x1007cbed
lea eax, [esi + 0x81c]
push eax
jmp 0x1007cbef
push 0
call fcn.100813cb
push dword [ebp - 0x498]
push 0xd
call fcn.1007d68b
mov esi, eax
pop ecx
pop ecx
push 1
mov dword [esi + 0x10], 0x68
mov ecx, dword [ebp - 0x4a4]
mov dword [esi + 4], ecx
mov cx, word [ebp - 0x4a0]
mov word [esi + 8], cx
mov ecx, edi
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
call fcn.1007b084
push esi
mov ecx, edi
mov word [esi], ax
call fcn.1008081d
push 7
lea ecx, [ebp - 0x37c]
call fcn.1006f997
push 1
push 8
lea eax, [ebp - 0x494]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x37c]
mov byte [ebp - 0x494], 0x1e
call fcn.1006fc99
mov eax, dword [ebp - 0x4a4]
lea ecx, [ebp - 0x37c]
push 1
mov dword [ebp - 0x4bc], eax
lea eax, [ebp - 0x4bc]
push 0x20
push eax
call fcn.1006fc99
movzx eax, word [ebp - 0x4a0]
lea ecx, [ebp - 0x37c]
push 1
mov dword [ebp - 0x4ec], eax
lea eax, [ebp - 0x4ec]
push 0x10
push eax
call fcn.1006fc99
call fcn.100744bf
xor ecx, ecx
push ecx
push eax
push ecx
push ecx
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
push ecx
push 8
push ecx
push dword [ebp - 0x37c]
mov ecx, edi
push dword [ebp - 0x370]
call fcn.1007d2b7
cmp byte [ebp - 0x499], 0
jne 0x1007cd14
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1007cf68
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1007ce86
lea ecx, [ebp - 0x37c]
call fcn.1006fa3b
lea ecx, [ebp - 0x490]
jmp 0x1007c8dc
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1007b47f
push dword [ebp - 0x498]
call fcn.1008b0fd
pop ecx
jmp 0x1007cd93
cmp eax, 2
jbe 0x1007cd57
cmp cl, 0xc
je 0x1007cd5c
cmp cl, 0x14
jb 0x1007cd93
push edx
push eax
call fcn.1007d68b
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4b8]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x4a4]
mov dword [eax + 4], ecx
mov cx, word [ebp - 0x4a0]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x4a8]
mov word [eax], cx
mov ecx, edi
push eax
call fcn.1008081d
mov ecx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x498]
push eax
call fcn.10081a91
mov edi, dword [ebp - 0x4c8]
mov esi, dword [ebp - 0x4c4]
mov dword [ebp - 0x4b8], eax
test eax, eax
jg 0x1007c2d8
jmp 0x1007ce4a
mov eax, dword [esi + 0x83c]
cmp eax, 8
je 0x1007cdde
cmp eax, 4
je 0x1007cdde
cmp eax, 1
je 0x1007cdde
cmp eax, 3
jne 0x1007ce31
push 1
call fcn.1007d66d
pop ecx
mov ecx, eax
mov eax, dword [esi + 0x83c]
mov edx, dword [ecx + 0x14]
cmp eax, 4
jne 0x1007cdfb
mov byte [edx], 0x1d
jmp 0x1007ce05
cmp eax, 8
sete al
add al, 0x20
mov byte [edx], al
mov dword [ecx + 0x10], 8
mov eax, dword [ebp - 0x4a4]
mov dword [ecx + 4], eax
mov ax, word [ebp - 0x4a0]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x4a8]
mov word [ecx], ax
push ecx
mov ecx, edi
call fcn.1008081d
push 0
push 1
push 0
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1007d0aa
mov eax, dword [ebp - 0x4a8]
movzx ecx, word [edi + 8]
inc eax
cmp eax, ecx
mov dword [ebp - 0x4a8], eax
jb 0x1007c08c
mov al, 1
jmp 0x1007bda8