Function at 0x10083ffb
Capabilities:
Encode data using xor

Disassembly:
push 0x510
mov eax, 0x100b961f
call fcn.10092a8d
mov edi, ecx
mov dword [ebp - 0x4ac], edi
lea eax, [ebp - 0x4b8]
mov ecx, 0x10118b50
push eax
push edi
push dword [edi + 0x828]
call fcn.10090fb7
cmp eax, 0xffffffff
jne 0x1008404e
cmp dword [ebp - 0x4b8], 0x2746
jne 0x1008403f
xor eax, eax
jmp 0x1008404e
cmp dword [ebp - 0x4b8], 0
je 0x1008404e
cmp byte [edi + 4], 0
je 0x1008409a
cmp byte [edi + 4], 0
jne 0x100840a9
test eax, eax
jg 0x10084012
xor ecx, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x490], ecx
lea ecx, [edi + 0x7f8]
movlpd qword [ebp - 0x4b4], xmm0
call fcn.10088e7b
mov esi, eax
test esi, esi
je 0x1008419d
mov edx, dword [ebp - 0x4b0]
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x494], edx
mov dword [ebp - 0x48c], eax
jmp 0x100840b7
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.10092a4b
ret
mov eax, dword [ebp - 0x48c]
cmp dword [esi + 0x34], 0
jne 0x1008414b
or eax, edx
jne 0x100840d8
call fcn.1007c729
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x494], edx
jmp 0x100840de
mov eax, dword [ebp - 0x48c]
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.100855de
test al, al
jne 0x10084114
push 1
push dword [esi + 0x30]
call fcn.10092a29
pop ecx
pop ecx
cmp dword [esi + 0x1c], 0
je 0x10084161
push 0x100d5fb0
lea ecx, [esi + 0x10]
call fcn.1007db83
test al, al
je 0x10084161
push 1
push 1
push dword [esi + 0x14]
mov ecx, edi
push dword [esi + 0x10]
call fcn.10083514
test eax, eax
je 0x10084161
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x83c], ecx
jmp 0x10084161
movzx eax, byte [esi + 0xc]
mov ecx, edi
push eax
push 1
push 0
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.100853c8
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.10088e7b
mov edx, dword [ebp - 0x494]
mov esi, eax
test esi, esi
jne 0x100840b1
jmp 0x100841b5
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x48c], eax
lea ecx, [edi + 0x3c8]
call fcn.10088e95
mov ecx, eax
mov dword [ebp - 0x498], ecx
mov esi, ecx
test ecx, ecx
je 0x1008439d
mov eax, dword [ebp - 0x48c]
or eax, dword [ebp - 0x494]
jne 0x1008420b
call fcn.1007c729
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0x48c], ecx
mov dword [ebp - 0x494], eax
call fcn.100936c0
mov dword [ebp - 0x490], eax
jmp 0x10084211
mov eax, dword [ebp - 0x490]
cmp dword [esi + 8], eax
jae 0x10084378
mov al, byte [esi + 0xc]
mov ecx, esi
push 0x100d5fb0
mov byte [ebp - 0x479], al
call fcn.1007db66
mov cl, byte [ebp - 0x479]
mov byte [ebp - 0x474], al
cmp cl, 6
je 0x100842e1
test al, al
jne 0x100842e1
mov eax, dword [ebp - 0x490]
inc byte [esi + 0xc]
add eax, 0x3e8
and dword [ebp - 0x4a8], 0
mov dword [esi + 8], eax
cmp dword [edi + 0x3c0], 0
mov byte [ebp - 0x488], 0x18
jbe 0x100842bc
xor ecx, ecx
mov dword [ebp - 0x4a4], ecx
mov eax, dword [edi + 0x3bc]
lea edx, [ebp - 0x488]
push dword [esi + 4]
push dword [esi]
mov ecx, dword [ecx + eax]
push 0x18
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x4a4]
inc eax
add ecx, 4
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4a4], ecx
cmp eax, dword [edi + 0x3c0]
jb 0x1008427c
movzx eax, word [esi + 4]
mov ecx, 0x10118b50
push eax
push dword [esi]
lea eax, [ebp - 0x488]
push 3
push eax
push dword [edi + 0x828]
call fcn.1009110e
jmp 0x10084378
cmp dword [esi + 0x10], 0
je 0x10084300
push dword [esi + 0x10]
call fcn.1009344d
and dword [esi + 0x10], 0
mov al, byte [ebp - 0x474]
pop ecx
mov cl, byte [ebp - 0x479]
cmp cl, 6
jne 0x10084344
test al, al
jne 0x10084344
cmp dword [esi + 0x118], 1
jne 0x10084344
push 1
call fcn.1008599a
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.10088a6b
cmp esi, dword [ebp - 0x498]
jne 0x1008436c
lea esi, [edi + 0x3c8]
mov ecx, esi
call fcn.10088eb5
mov ecx, esi
call fcn.10088e95
mov ecx, eax
mov dword [ebp - 0x498], ecx
mov esi, ecx
jmp 0x1008438b
or dword [esi], 0xffffffff
mov eax, 0xffff
mov word [esi + 4], ax
lea ecx, [edi + 0x3c8]
call fcn.10088e95
mov ecx, dword [ebp - 0x498]
mov esi, eax
test esi, esi
jne 0x100841d2
test ecx, ecx
je 0x1008439d
mov dword [edi + 0x3c8], ecx
xor ecx, ecx
xor eax, eax
cmp cx, word [edi + 8]
jmp 0x10085175
imul esi, eax, 0x840
add esi, dword [edi + 0x340]
mov dword [ebp - 0x4a8], esi
cmp byte [esi], 0
je 0x10085168
mov eax, dword [esi + 4]
mov dword [ebp - 0x484], eax
mov ax, word [esi + 8]
mov word [ebp - 0x480], ax
mov eax, dword [ebp - 0x48c]
or eax, dword [ebp - 0x494]
jne 0x10084412
call fcn.1007c729
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0x48c], ecx
mov dword [ebp - 0x494], eax
call fcn.100936c0
mov dword [ebp - 0x490], eax
jmp 0x10084418
mov eax, dword [ebp - 0x490]
mov ecx, dword [esi + 0x700]
cmp eax, ecx
jbe 0x10084487
sub eax, ecx
cmp eax, 0x1388
jbe 0x10084487
cmp dword [esi + 0x83c], 8
jne 0x10084487
lea ecx, [esi + 0x18]
call fcn.1008a54c
xor ecx, ecx
cmp dword [eax + 0x60], ecx
jne 0x10084487
push dword [ebp - 0x494]
lea eax, [ebp - 0x474]
mov byte [ebp - 0x474], 0x17
push dword [ebp - 0x48c]
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.100855de
lea ecx, [esi + 0x18]
call fcn.10089650
add eax, dword [ebp - 0x490]
mov dword [esi + 0x700], eax
lea eax, [edi + 0x3bc]
push eax
push dword [ebp - 0x494]
lea ecx, [esi + 0x18]
push dword [ebp - 0x48c]
push dword [edi + 0x81c]
push dword [ebp - 0x480]
push dword [ebp - 0x484]
push dword [edi + 0x828]
call fcn.10089ec2
lea ecx, [esi + 0x18]
call fcn.1008a4f6
test al, al
jne 0x100850e2
mov eax, dword [esi + 0x83c]
cmp eax, 1
je 0x100844da
cmp eax, 2
jne 0x100844ea
lea ecx, [esi + 0x18]
call fcn.1008a5dd
test al, al
je 0x100850e2
cmp dword [esi + 0x83c], 3
jne 0x10084503
lea ecx, [esi + 0x18]
call fcn.1008a62e
test al, al
je 0x100850e2
mov eax, dword [esi + 0x83c]
cmp eax, 4
je 0x1008451d
cmp eax, 5
je 0x1008451d
cmp eax, 6
je 0x1008451d
cmp eax, 7
jne 0x1008453a
mov ecx, dword [esi + 0x818]
mov eax, dword [ebp - 0x490]
cmp eax, ecx
jbe 0x1008453a
sub eax, ecx
cmp eax, 0x2710
ja 0x100850e2
lea ecx, [esi + 0x18]
call fcn.1008a4ef
test al, al
je 0x10084585
push 1
call fcn.1008599a
pop ecx
push eax
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x10], 8
mov byte [ecx], 0x26
mov ecx, dword [ebp - 0x484]
mov dword [eax + 4], ecx
mov cx, word [ebp - 0x480]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, edi
call fcn.10088a6b
jmp 0x10085168
cmp dword [esi + 0x83c], 8
jne 0x100845d0
mov eax, dword [ebp - 0x490]
cmp eax, dword [esi + 0x6fc]
jbe 0x100845d0
cmp byte [edi + 6], 0
jne 0x100845b0
mov ecx, 0xffff
cmp word [esi + 0x6f8], cx
jne 0x100845d0
add eax, 0x1388
mov ecx, edi
push 1
mov dword [esi + 0x6fc], eax
push dword [ebp - 0x480]
push dword [ebp - 0x484]
call fcn.10085286
lea eax, [ebp - 0x478]
lea ecx, [esi + 0x18]
push eax
call fcn.10089cef
mov dword [ebp - 0x498], eax
test eax, eax
jle 0x10085168
lea ecx, [esi + 0x18]
mov dword [ebp - 0x4b0], ecx
add eax, 7
sar eax, 3
cmp dword [edi + 0x7e0], 0
mov dword [ebp - 0x49c], eax
je 0x10084737
push 0x240
lea ecx, [ebp - 0x134]
call fcn.10077b12
and dword [ebp - 4], 0
lea ecx, [ebp - 0x134]
call fcn.10077bcf
push dword [ebp - 0x49c]
lea ecx, [ebp - 0x134]
push dword [ebp - 0x478]
call fcn.10077eff
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x4a0], edx
lea ecx, [edx + 7]
sar ecx, 3
add dword [edi + 0x7ec], ecx
test edx, edx
je 0x10084719
push ecx
call fcn.10093444
mov ecx, dword [ebp - 0x134]
mov esi, eax
add ecx, 7
sar ecx, 3
push ecx
push dword [ebp - 0x128]
push esi
call fcn.10095340
add esp, 0x10
lea ecx, [ebp - 0x134]
call fcn.10077bcf
mov ecx, dword [edi + 0x7e0]
lea eax, [ebp - 0x134]
push eax
push dword [ebp - 0x4a0]
push esi
call fcn.100798bd
mov ecx, dword [ebp - 0x134]
push esi
lea ecx, [ecx + 7]
sar ecx, 3
add dword [edi + 0x7f4], ecx
call fcn.1009344d
mov esi, dword [ebp - 0x134]
pop ecx
lea esi, [esi + 7]
sar esi, 3
mov dword [ebp - 0x4a0], esi
cmp esi, dword [ebp - 0x49c]
jle 0x100846fb
push dword [ebp - 0x478]
call fcn.1009344d
push esi
call fcn.10093444
pop ecx
pop ecx
mov dword [ebp - 0x478], eax
jmp 0x10084701
mov eax, dword [ebp - 0x478]
push esi
push dword [ebp - 0x128]
push eax
call fcn.10095340
mov esi, dword [ebp - 0x4a8]
add esp, 0xc
jmp 0x10084720
and dword [ebp - 0x4a0], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x134]
call fcn.10077bb6
mov eax, dword [ebp - 0x4a0]
jmp 0x1008473d
mov dword [ebp - 0x4a0], eax
cmp dword [esi + 0x83c], 6
mov ecx, dword [ebp - 0x478]
jne 0x100847c1
cmp byte [ecx], 0xb
jne 0x1008476c
push eax
push ecx
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
push esi
call fcn.100835d0
jmp 0x1008505d
push 0
push 1
push 0
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
call fcn.100853c8
mov eax, dword [edi]
lea ecx, [esi + 0x18]
mov edi, dword [eax + 0x64]
call fcn.10089650
push dword [ebp - 0x480]
mov esi, eax
mov eax, dword [ebp - 0x4ac]
push dword [ebp - 0x484]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xb8]
mov ecx, eax
call edx
mov ecx, dword [ebp - 0x4ac]
push esi
push eax
call edi
jmp 0x1008505d
mov dl, byte [ecx]
cmp dl, 0xb
jne 0x100847f6
cmp dword [esi + 0x83c], 8
je 0x10084e18
push eax
push ecx
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
push esi
call fcn.100835d0
mov ecx, dword [ebp - 0x478]
jmp 0x10084e18
cmp dl, 0x1e
jne 0x10084918
cmp eax, 7
jne 0x10084918
cmp dword [esi + 0x83c], 5
je 0x10084833
cmp dword [esi + 0x83c], eax
je 0x10084833
lea eax, [edi + 0x234]
push eax
lea ecx, [ebp - 0x484]
call fcn.1007db66
test al, al
je 0x1008505d
push 1
mov dword [esi + 0x83c], 8
mov ecx, edi
push dword [ebp - 0x480]
push dword [ebp - 0x484]
call fcn.10085286
push 1
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
call fcn.100851a4
push 0
push 7
push dword [ebp - 0x478]
lea ecx, [ebp - 0x134]
call fcn.10077b4f
push 8
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 1
call fcn.10077dc1
push 1
push 0x20
lea eax, [ebp - 0x4d4]
push eax
lea ecx, [ebp - 0x134]
call fcn.10077f88
push 1
push 0x10
lea eax, [ebp - 0x4d0]
push eax
lea ecx, [ebp - 0x134]
call fcn.10077f88
mov eax, dword [ebp - 0x4d4]
mov dword [esi + 0xc], eax
mov ax, word [ebp - 0x4d0]
mov word [esi + 0x10], ax
push dword [ebp - 0x478]
push 7
call fcn.100859b8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x498]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x484]
mov dword [eax + 4], ecx
mov cx, word [ebp - 0x480]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, edi
push eax
call fcn.10088a6b
lea ecx, [ebp - 0x134]
jmp 0x10084bf4
cmp dl, 9
jne 0x10084a7b
cmp eax, 9
jne 0x10084a7b
push 0
push eax
push ecx
lea ecx, [ebp - 0x134]
call fcn.10077b4f
push 8
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 2
call fcn.10077dc1
push 1
push 0x20
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0x134]
call fcn.10077f88
push 1
push 0x20
lea eax, [ebp - 0x4c0]
push eax
lea ecx, [ebp - 0x134]
call fcn.10077f88
call fcn.1007c729
push 0
mov ecx, eax
mov eax, edx
push 0x3e8
push eax
push ecx
mov dword [ebp - 0x48c], ecx
mov dword [ebp - 0x494], eax
call fcn.100936c0
mov dword [ebp - 0x490], eax
cmp eax, dword [ebp - 0x4a4]
jbe 0x100849b4
mov edx, eax
sub edx, dword [ebp - 0x4a4]
jmp 0x100849b6
xor edx, edx
mov ecx, dword [esi + 0x6f4]
movzx eax, word [esi + ecx*8 + 0x6cc]
test eax, eax
je 0x100849df
imul eax, eax, 3
cmp edx, eax
jae 0x10084a6a
cmp edx, 0x4b0
jae 0x10084a6a
movzx edi, dx
mov word [esi + ecx*8 + 0x6cc], di
mov eax, dword [ebp - 0x4a4]
add eax, dword [ebp - 0x490]
mov ecx, dword [ebp - 0x4c0]
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 0x10084a22
cmp eax, edx
jle 0x10084a29
mov word [esi + 0x6f8], di
cmp edx, 0x2710
jb 0x10084a48
push 0x11e6
push str.D:SAMP_API_mainSAMP_API_ONE_HEADERSAMPRakNetRakPeer.cpp
push str.ping___10000
call fcn.100a7b34
add esp, 0xc
push edi
lea ecx, [esi + 0x18]
call fcn.1008a505
mov eax, dword [esi + 0x6f4]
inc eax
mov dword [esi + 0x6f4], eax
cmp eax, 5
jne 0x10084a6a
and dword [esi + 0x6f4], 0
push dword [ebp - 0x478]
call fcn.1009344d
pop ecx
jmp 0x1008490d
cmp dl, 6
jne 0x10084b7f
cmp eax, 5
jne 0x10084b93
push 0
push eax
push ecx
lea ecx, [ebp - 0x248]
call fcn.10077b4f
push 8
lea ecx, [ebp - 0x248]
mov dword [ebp - 4], 3
call fcn.10077dc1
push 1
push 0x20
lea eax, [ebp - 0x4c4]
push eax
lea ecx, [ebp - 0x248]
call fcn.10077f88
lea ecx, [ebp - 0x134]
call fcn.10077af7
push 1
push 8
lea eax, [ebp - 0x474]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 0x474], 9
call fcn.10077e14
call fcn.1007c6d8
mov esi, eax
lea ecx, [ebp - 0x134]
mov eax, dword [ebp - 0x4c4]
push 1
mov dword [ebp - 0x49c], eax
lea eax, [ebp - 0x49c]
push 0x20
push eax
mov dword [ebp - 0x490], esi
call fcn.10077e14
push 1
push 0x20
lea eax, [ebp - 0x49c]
mov dword [ebp - 0x49c], esi
push eax
lea ecx, [ebp - 0x134]
call fcn.10077e14
xor eax, eax
mov ecx, edi
push eax
push esi
push eax
push eax
push dword [ebp - 0x480]
push dword [ebp - 0x484]
push eax
push 6
push eax
push dword [ebp - 0x134]
push dword [ebp - 0x128]
call fcn.100855de
push dword [ebp - 0x478]
call fcn.1009344d
pop ecx
lea ecx, [ebp - 0x134]
call fcn.10077bb6
jmp 0x10084bee
cmp dl, 0x20
jne 0x10084b93
mov dword [esi + 0x83c], 3
jmp 0x1008505d
cmp dl, 0x11
jne 0x10084c02
push 0
push eax
push ecx
lea ecx, [ebp - 0x248]
call fcn.10077b4f
push 8
lea ecx, [ebp - 0x248]
mov dword [ebp - 4], 5
call fcn.10077dc1
push 1
push 8
lea eax, [ebp - 0x4c8]
push eax
lea ecx, [ebp - 0x248]
call fcn.100781f9
push dword [ebp - 0x4c8]
lea ecx, [esi + 0x830]
call fcn.1008f25d
push dword [ebp - 0x478]
call fcn.1009344d
pop ecx
lea ecx, [ebp - 0x248]
or dword [ebp - 4], 0xffffffff
call fcn.10077bb6
jmp 0x100850b1
cmp dl, 0xa
jne 0x10084c21
push 1
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
call fcn.100851a4
jmp 0x1008505d
cmp dl, 0x29
jne 0x10084c5d
lea ecx, [esi + 0x704]
call fcn.10077bcf
mov eax, dword [ebp - 0x4a0]
lea ecx, [esi + 0x704]
dec eax
push eax
mov eax, dword [ebp - 0x478]
inc eax
push eax
call fcn.10077bd7
push dword [ebp - 0x478]
push dword [ebp - 0x4a0]
jmp 0x1008507c
cmp dl, 0xf
jne 0x10084c79
cmp eax, 0x39
jne 0x1008506b
push ecx
push esi
mov ecx, edi
call fcn.10083e34
jmp 0x1008505d
cmp dl, 0x10
jne 0x10084e0a
cmp eax, 0x35
jne 0x1008506b
lea ecx, [ebp - 0xd4]
call fcn.1008f2f5
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 6
call fcn.1008f312
push 4
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0xd4]
call fcn.1008f33e
push 2
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0xd4]
call fcn.1008f33e
push 0x14
lea eax, [edi + 0x9ac]
push eax
lea ecx, [ebp - 0xd4]
call fcn.1008f33e
lea ecx, [ebp - 0xd4]
call fcn.1008f4c6
mov esi, dword [ebp - 0x478]
lea ecx, [ebp - 0xd4]
call fcn.1008f70b
xor edx, edx
mov ecx, dword [eax + edx*4]
cmp ecx, dword [esi + edx*4 + 1]
jne 0x10084d13
inc edx
cmp edx, 5
jne 0x10084d02
jmp 0x10084d87
lea ecx, [ebp - 0xd4]
call fcn.1008f312
push 4
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0xd4]
call fcn.1008f33e
push 2
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0xd4]
call fcn.1008f33e
push 0x14
lea eax, [edi + 0x9c0]
push eax
lea ecx, [ebp - 0xd4]
call fcn.1008f33e
lea ecx, [ebp - 0xd4]
call fcn.1008f4c6
mov esi, dword [ebp - 0x478]
lea ecx, [ebp - 0xd4]
call fcn.1008f70b
xor edx, edx
mov ecx, dword [eax + edx*4]
cmp ecx, dword [esi + edx*4 + 1]
jne 0x10084dea
inc edx
cmp edx, 5
jne 0x10084d78
mov esi, dword [ebp - 0x478]
lea edi, [ebp - 0x4fc]
push 8
pop ecx
add esi, 0x15
lea eax, [ebp - 0x51c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x4ac]
push eax
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [edi + 0x84c]
call fcn.100890b6
mov edx, dword [ebp - 0x478]
xor ecx, ecx
mov al, byte [ebp + ecx - 0x51c]
xor al, byte [ecx + edx + 1]
mov byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0x10
jl 0x10084dc2
push 1
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
push dword [ebp - 0x4a8]
call fcn.10083676
push dword [ebp - 0x478]
call fcn.1009344d
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0xd4]
call fcn.1008f307
jmp 0x100850b1
cmp dl, 0x17
jne 0x10084e1e
cmp eax, 1
jne 0x1008506b
push ecx
jmp 0x10085063
cmp dl, 0x22
jne 0x1008506b
cmp eax, 0xd
jne 0x1008506b
mov eax, dword [esi + 0x83c]
cmp eax, 5
je 0x10084e4d
cmp eax, 4
je 0x10084e4d
cmp byte [edi + 0x9d4], 0
jne 0x10084e4d
xor dl, dl
jmp 0x10084e5a
mov dl, 1
mov byte [ebp - 0x479], dl
cmp eax, 5
je 0x10084e61
mov byte [ebp - 0x479], 0
push 0
test dl, dl
je 0x10085048
push 0xd
push ecx
lea ecx, [ebp - 0x470]
call fcn.10077b4f
push 8
lea ecx, [ebp - 0x470]
mov dword [ebp - 4], 7
call fcn.10077dc1
push 1
push 0x20
lea eax, [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x470]
call fcn.10077f88
push 1
push 0x10
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x470]
call fcn.10077f88
push 1
push 0x10
lea eax, [ebp - 0x4bc]
push eax
lea ecx, [ebp - 0x470]
call fcn.10077f88
cmp byte [ebp - 0x479], 0
mov eax, dword [ebp - 0x4dc]
mov dword [esi + 0xc], eax
mov ax, word [ebp - 0x4d8]
mov word [esi + 0x10], ax
mov dword [esi + 0x83c], 8
jne 0x10084f12
cmp byte [esi + 0x82c], 0
lea ecx, [esi + 0x18]
je 0x10084f0b
lea eax, [esi + 0x81c]
push eax
jmp 0x10084f0d
push 0
call fcn.10089623
push dword [ebp - 0x478]
push 0xd
call fcn.100859b8
mov esi, eax
pop ecx
pop ecx
push 1
mov dword [esi + 0x10], 0x68
mov ecx, dword [ebp - 0x484]
mov dword [esi + 4], ecx
mov cx, word [ebp - 0x480]
mov word [esi + 8], cx
mov ecx, edi
push dword [ebp - 0x480]
push dword [ebp - 0x484]
call fcn.10083395
push esi
mov ecx, edi
mov word [esi], ax
call fcn.10088a6b
push 7
lea ecx, [ebp - 0x35c]
call fcn.10077b12
push 1
push 8
lea eax, [ebp - 0x474]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x35c]
mov byte [ebp - 0x474], 0x1e
call fcn.10077e14
mov eax, dword [ebp - 0x484]
lea ecx, [ebp - 0x35c]
push 1
mov dword [ebp - 0x49c], eax
lea eax, [ebp - 0x49c]
push 0x20
push eax
call fcn.10077e14
movzx eax, word [ebp - 0x480]
lea ecx, [ebp - 0x35c]
push 1
mov dword [ebp - 0x4cc], eax
lea eax, [ebp - 0x4cc]
push 0x10
push eax
call fcn.10077e14
call fcn.1007c6d8
xor ecx, ecx
push ecx
push eax
push ecx
push ecx
push dword [ebp - 0x480]
push dword [ebp - 0x484]
push ecx
push 8
push ecx
push dword [ebp - 0x35c]
mov ecx, edi
push dword [ebp - 0x350]
call fcn.100855de
cmp byte [ebp - 0x479], 0
jne 0x10085032
push 1
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
call fcn.10085286
push 1
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
call fcn.100851a4
lea ecx, [ebp - 0x35c]
call fcn.10077bb6
lea ecx, [ebp - 0x470]
jmp 0x10084bf4
push 1
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
call fcn.10083790
push dword [ebp - 0x478]
call fcn.1009344d
pop ecx
jmp 0x100850b1
cmp eax, 2
jbe 0x10085075
cmp dl, 0xc
je 0x1008507a
cmp dl, 0x14
jb 0x100850b1
push ecx
push eax
call fcn.100859b8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x498]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x484]
mov dword [eax + 4], ecx
mov cx, word [ebp - 0x480]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x488]
mov word [eax], cx
mov ecx, edi
push eax
call fcn.10088a6b
mov ecx, dword [ebp - 0x4b0]
lea eax, [ebp - 0x478]
push eax
call fcn.10089cef
mov edi, dword [ebp - 0x4ac]
mov esi, dword [ebp - 0x4a8]
mov dword [ebp - 0x498], eax
test eax, eax
jg 0x100845f6
jmp 0x10085168
mov eax, dword [esi + 0x83c]
cmp eax, 8
je 0x100850fc
cmp eax, 4
je 0x100850fc
cmp eax, 1
je 0x100850fc
cmp eax, 3
jne 0x1008514f
push 1
call fcn.1008599a
pop ecx
mov ecx, eax
mov eax, dword [esi + 0x83c]
mov edx, dword [ecx + 0x14]
cmp eax, 4
jne 0x10085119
mov byte [edx], 0x1d
jmp 0x10085123
cmp eax, 8
sete al
add al, 0x20
mov byte [edx], al
mov dword [ecx + 0x10], 8
mov eax, dword [ebp - 0x484]
mov dword [ecx + 4], eax
mov ax, word [ebp - 0x480]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x488]
mov word [ecx], ax
push ecx
mov ecx, edi
call fcn.10088a6b
push 0
push 1
push 0
push dword [ebp - 0x480]
mov ecx, edi
push dword [ebp - 0x484]
call fcn.100853c8
mov eax, dword [ebp - 0x488]
movzx ecx, word [edi + 8]
inc eax
cmp eax, ecx
mov dword [ebp - 0x488], eax
jb 0x100843aa
mov al, 1
jmp 0x100840ab