Function at 0x1008cc36
Capabilities:
Encode data using xor

Disassembly:
push 0x510
mov eax, 0x100c193c
call fcn.1009b67d
mov edi, ecx
mov dword [ebp - 0x4c8], edi
lea eax, [ebp - 0x4d8]
mov ecx, 0x1012da98
push eax
push edi
push dword [edi + 0x828]
call fcn.10099bcc
cmp eax, 0xffffffff
jne 0x1008cc89
cmp dword [ebp - 0x4d8], 0x2746
jne 0x1008cc7a
xor eax, eax
jmp 0x1008cc89
cmp dword [ebp - 0x4d8], 0
je 0x1008cc89
cmp byte [edi + 4], 0
je 0x1008ccd5
cmp byte [edi + 4], 0
jne 0x1008cce4
test eax, eax
jg 0x1008cc4d
xor ecx, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x4b0], ecx
lea ecx, [edi + 0x7f8]
movlpd qword [ebp - 0x4d4], xmm0
call fcn.10091b59
mov esi, eax
test esi, esi
je 0x1008cdd8
mov edx, dword [ebp - 0x4d0]
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x4b4], edx
mov dword [ebp - 0x4ac], eax
jmp 0x1008ccf2
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.1009b63b
ret
mov eax, dword [ebp - 0x4ac]
cmp dword [esi + 0x34], 0
jne 0x1008cd86
or eax, edx
jne 0x1008cd13
call fcn.10085416
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4b4], edx
jmp 0x1008cd19
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.1008e1dd
test al, al
jne 0x1008cd4f
push 1
push dword [esi + 0x30]
call fcn.1009b619
pop ecx
pop ecx
cmp dword [esi + 0x1c], 0
je 0x1008cd9c
push 0x100ea9f8
lea ecx, [esi + 0x10]
call fcn.10086876
test al, al
je 0x1008cd9c
push 1
push 1
push dword [esi + 0x14]
mov ecx, edi
push dword [esi + 0x10]
call fcn.1008c141
test eax, eax
je 0x1008cd9c
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x83c], ecx
jmp 0x1008cd9c
movzx eax, byte [esi + 0xc]
mov ecx, edi
push eax
push 1
push 0
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.1008dfe2
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.10091b59
mov edx, dword [ebp - 0x4b4]
mov esi, eax
test esi, esi
jne 0x1008ccec
jmp 0x1008cdf0
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.10091b73
mov ecx, eax
mov dword [ebp - 0x4b8], ecx
mov esi, ecx
test ecx, ecx
je 0x1008cfbd
mov eax, dword [ebp - 0x4ac]
or eax, dword [ebp - 0x4b4]
jne 0x1008ce46
call fcn.10085416
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.1009c050
mov dword [ebp - 0x4b0], eax
jmp 0x1008ce4c
mov eax, dword [ebp - 0x4b0]
cmp dword [esi + 8], eax
jae 0x1008cf98
mov al, byte [esi + 0xc]
mov ecx, esi
push 0x100ea9f8
mov byte [ebp - 0x499], al
call fcn.10086859
mov cl, byte [ebp - 0x499]
mov byte [ebp - 0x494], al
cmp cl, 6
je 0x1008cf01
test al, al
jne 0x1008cf01
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 0x1008cedc
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 0x1008ceab
movzx eax, word [esi + 4]
mov ecx, 0x1012da98
push eax
push dword [esi]
lea eax, [ebp - 0x4a8]
push 3
push eax
push dword [edi + 0x828]
call fcn.10099d23
jmp 0x1008cf98
cmp dword [esi + 0x10], 0
je 0x1008cf20
push dword [esi + 0x10]
call fcn.1009bded
and dword [esi + 0x10], 0
mov al, byte [ebp - 0x494]
pop ecx
mov cl, byte [ebp - 0x499]
cmp cl, 6
jne 0x1008cf64
test al, al
jne 0x1008cf64
cmp dword [esi + 0x118], 1
jne 0x1008cf64
push 1
call fcn.1008e593
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.10091743
cmp esi, dword [ebp - 0x4b8]
jne 0x1008cf8c
lea esi, [edi + 0x3c8]
mov ecx, esi
call fcn.10091b93
mov ecx, esi
call fcn.10091b73
mov ecx, eax
mov dword [ebp - 0x4b8], ecx
mov esi, ecx
jmp 0x1008cfab
or dword [esi], 0xffffffff
mov eax, 0xffff
mov word [esi + 4], ax
lea ecx, [edi + 0x3c8]
call fcn.10091b73
mov ecx, dword [ebp - 0x4b8]
mov esi, eax
test esi, esi
jne 0x1008ce0d
test ecx, ecx
je 0x1008cfbd
mov dword [edi + 0x3c8], ecx
xor ecx, ecx
xor eax, eax
cmp cx, word [edi + 8]
jmp 0x1008dd86
imul esi, eax, 0x840
add esi, dword [edi + 0x340]
mov dword [ebp - 0x4c4], esi
cmp byte [esi], 0
je 0x1008dd79
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 0x1008d032
call fcn.10085416
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.1009c050
mov dword [ebp - 0x4b0], eax
jmp 0x1008d038
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [esi + 0x700]
cmp eax, ecx
jbe 0x1008d0a7
sub eax, ecx
cmp eax, 0x1388
jbe 0x1008d0a7
cmp dword [esi + 0x83c], 8
jne 0x1008d0a7
lea ecx, [esi + 0x18]
call fcn.100931e6
xor ecx, ecx
cmp dword [eax + 0x60], ecx
jne 0x1008d0a7
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.1008e1dd
lea ecx, [esi + 0x18]
call fcn.1009231b
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]
mov dword [ebp - 0x4d0], ecx
push dword [edi + 0x81c]
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
push dword [edi + 0x828]
call fcn.10092b69
lea ecx, [esi + 0x18]
call fcn.10093190
test al, al
jne 0x1008dcf3
mov eax, dword [esi + 0x83c]
cmp eax, 1
je 0x1008d100
cmp eax, 2
jne 0x1008d110
lea ecx, [esi + 0x18]
call fcn.10093277
test al, al
je 0x1008dcf3
cmp dword [esi + 0x83c], 3
jne 0x1008d129
lea ecx, [esi + 0x18]
call fcn.100932c8
test al, al
je 0x1008dcf3
mov eax, dword [esi + 0x83c]
cmp eax, 4
je 0x1008d143
cmp eax, 5
je 0x1008d143
cmp eax, 6
je 0x1008d143
cmp eax, 7
jne 0x1008d160
mov ecx, dword [esi + 0x818]
mov eax, dword [ebp - 0x4b0]
cmp eax, ecx
jbe 0x1008d160
sub eax, ecx
cmp eax, 0x2710
ja 0x1008dcf3
lea ecx, [esi + 0x18]
call fcn.10093189
test al, al
je 0x1008d1ab
push 1
call fcn.1008e593
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.10091743
jmp 0x1008dd79
cmp dword [esi + 0x83c], 8
jne 0x1008d1f6
mov eax, dword [ebp - 0x4b0]
cmp eax, dword [esi + 0x6fc]
jbe 0x1008d1f6
cmp byte [edi + 6], 0
jne 0x1008d1d6
mov ecx, 0xffff
cmp word [esi + 0x6f8], cx
jne 0x1008d1f6
add eax, 0x1388
mov ecx, edi
push 1
mov dword [esi + 0x6fc], eax
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
call fcn.1008de97
lea eax, [ebp - 0x498]
push eax
lea ecx, [esi + 0x18]
call fcn.10092996
jmp 0x1008dce0
add eax, 7
sar eax, 3
cmp dword [edi + 0x7e0], 0
mov dword [ebp - 0x4bc], eax
je 0x1008d34b
push 0x240
lea ecx, [ebp - 0x154]
call fcn.1008089a
and dword [ebp - 4], 0
lea ecx, [ebp - 0x154]
call fcn.10080957
push dword [ebp - 0x4bc]
lea ecx, [ebp - 0x154]
push dword [ebp - 0x498]
call fcn.10080c36
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 0x1008d32d
push ecx
call fcn.1009bde4
mov ecx, dword [ebp - 0x154]
mov esi, eax
add ecx, 7
sar ecx, 3
push ecx
push dword [ebp - 0x148]
push esi
call fcn.1009db70
add esp, 0x10
lea ecx, [ebp - 0x154]
call fcn.10080957
mov ecx, dword [edi + 0x7e0]
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x4c0]
push esi
call fcn.100825e3
mov ecx, dword [ebp - 0x154]
push esi
lea ecx, [ecx + 7]
sar ecx, 3
add dword [edi + 0x7f4], ecx
call fcn.1009bded
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 0x1008d30f
push dword [ebp - 0x498]
call fcn.1009bded
push esi
call fcn.1009bde4
pop ecx
pop ecx
mov dword [ebp - 0x498], eax
jmp 0x1008d315
mov eax, dword [ebp - 0x498]
push esi
push dword [ebp - 0x148]
push eax
call fcn.1009db70
mov esi, dword [ebp - 0x4c4]
add esp, 0xc
jmp 0x1008d334
and dword [ebp - 0x4c0], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.1008093e
mov eax, dword [ebp - 0x4c0]
jmp 0x1008d351
mov dword [ebp - 0x4c0], eax
cmp dword [esi + 0x83c], 6
jne 0x1008d3d5
mov ecx, dword [ebp - 0x498]
cmp byte [ecx], 0xb
jne 0x1008d380
push eax
push ecx
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
push esi
call fcn.1008c1fd
jmp 0x1008dc6e
push 0
push 1
push 0
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1008dfe2
mov eax, dword [edi]
lea ecx, [esi + 0x18]
mov edi, dword [eax + 0x64]
call fcn.1009231b
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 0x1008dc6e
mov edx, dword [ebp - 0x498]
mov cl, byte [edx]
cmp cl, 0xb
jne 0x1008d410
cmp dword [esi + 0x83c], 8
je 0x1008da29
push eax
push edx
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
push esi
call fcn.1008c1fd
mov edx, dword [ebp - 0x498]
jmp 0x1008da29
cmp cl, 0x1e
jne 0x1008d532
cmp eax, 7
jne 0x1008d7aa
cmp dword [esi + 0x83c], 5
je 0x1008d44d
cmp dword [esi + 0x83c], eax
je 0x1008d44d
lea eax, [edi + 0x234]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.10086859
test al, al
je 0x1008dc6e
push 1
mov dword [esi + 0x83c], 8
mov ecx, edi
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
call fcn.1008de97
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1008ddb5
push 0
push 7
push dword [ebp - 0x498]
lea ecx, [ebp - 0x154]
call fcn.100808d7
push 8
lea ecx, [ebp - 0x154]
mov dword [ebp - 4], 1
call fcn.10080b49
push 1
push 0x20
lea eax, [ebp - 0x4f4]
push eax
lea ecx, [ebp - 0x154]
call fcn.10080cbf
push 1
push 0x10
lea eax, [ebp - 0x4f0]
push eax
lea ecx, [ebp - 0x154]
call fcn.10080cbf
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.1008e5b1
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.10091743
lea ecx, [ebp - 0x154]
jmp 0x1008d80b
cmp cl, 9
jne 0x1008d692
cmp eax, 9
jne 0x1008d7aa
push 0
push eax
push edx
lea ecx, [ebp - 0x154]
call fcn.100808d7
push 8
lea ecx, [ebp - 0x154]
mov dword [ebp - 4], 2
call fcn.10080b49
push 1
push 0x20
lea eax, [ebp - 0x4cc]
push eax
lea ecx, [ebp - 0x154]
call fcn.10080cbf
push 1
push 0x20
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x154]
call fcn.10080cbf
call fcn.10085416
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.1009c050
mov dword [ebp - 0x4b0], eax
cmp eax, dword [ebp - 0x4cc]
jbe 0x1008d5ce
mov edx, eax
sub edx, dword [ebp - 0x4cc]
jmp 0x1008d5d0
xor edx, edx
mov ecx, dword [esi + 0x6f4]
movzx eax, word [esi + ecx*8 + 0x6cc]
test eax, eax
je 0x1008d5f9
imul eax, eax, 3
cmp edx, eax
jae 0x1008d681
cmp edx, 0x4b0
jae 0x1008d681
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 0x1008d63c
cmp eax, edx
jle 0x1008d643
mov word [esi + 0x6f8], di
cmp edx, 0x2710
jb 0x1008d662
push 0x11e6
push str.C:UsersdimonDesktopSAMP_API_mainSAMP_API_ONE_HEADERSAMPRakNetRakPeer.cpp
push str.ping___10000
call fcn.100a20b1
add esp, 0xc
push edi
lea ecx, [esi + 0x18]
call fcn.1009319f
inc dword [esi + 0x6f4]
cmp dword [esi + 0x6f4], 5
jne 0x1008d681
and dword [esi + 0x6f4], 0
push dword [ebp - 0x498]
call fcn.1009bded
pop ecx
jmp 0x1008d527
cmp cl, 6
jne 0x1008d796
cmp eax, 5
jne 0x1008d7aa
push 0
push eax
push edx
lea ecx, [ebp - 0x268]
call fcn.100808d7
push 8
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 3
call fcn.10080b49
push 1
push 0x20
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x268]
call fcn.10080cbf
lea ecx, [ebp - 0x154]
call fcn.1008087f
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.10080b9c
call fcn.100853c5
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.10080b9c
push 1
push 0x20
lea eax, [ebp - 0x4bc]
mov dword [ebp - 0x4bc], esi
push eax
lea ecx, [ebp - 0x154]
call fcn.10080b9c
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.1008e1dd
push dword [ebp - 0x498]
call fcn.1009bded
pop ecx
lea ecx, [ebp - 0x154]
call fcn.1008093e
jmp 0x1008d805
cmp cl, 0x20
jne 0x1008d7aa
mov dword [esi + 0x83c], 3
jmp 0x1008dc6e
cmp cl, 0x11
jne 0x1008d819
push 0
push eax
push edx
lea ecx, [ebp - 0x268]
call fcn.100808d7
push 8
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 5
call fcn.10080b49
push 1
push 8
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x268]
call fcn.10080f34
push dword [ebp - 0x4e8]
lea ecx, [esi + 0x830]
call fcn.10097e72
push dword [ebp - 0x498]
call fcn.1009bded
pop ecx
lea ecx, [ebp - 0x268]
or dword [ebp - 4], 0xffffffff
call fcn.1008093e
jmp 0x1008dcc2
cmp cl, 0xa
jne 0x1008d838
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1008ddb5
jmp 0x1008dc6e
cmp cl, 0x29
jne 0x1008d874
lea ecx, [esi + 0x704]
call fcn.10080957
mov eax, dword [ebp - 0x4c0]
lea ecx, [esi + 0x704]
dec eax
push eax
mov eax, dword [ebp - 0x498]
inc eax
push eax
call fcn.1008095f
push dword [ebp - 0x498]
push dword [ebp - 0x4c0]
jmp 0x1008dc8d
cmp cl, 0xf
jne 0x1008d890
cmp eax, 0x39
jne 0x1008dc7c
push edx
push esi
mov ecx, edi
call fcn.1008ca61
jmp 0x1008dc6e
cmp cl, 0x10
jne 0x1008da1b
cmp eax, 0x35
jne 0x1008dc7c
lea ecx, [ebp - 0xf4]
call fcn.10097f0a
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 6
call fcn.10097f27
push 4
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10097f53
push 2
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10097f53
push 0x14
lea eax, [edi + 0x9ac]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10097f53
lea ecx, [ebp - 0xf4]
call fcn.100980db
mov esi, dword [ebp - 0x498]
lea ecx, [ebp - 0xf4]
call fcn.10098320
xor edx, edx
mov ecx, dword [eax + edx*4]
cmp ecx, dword [esi + edx*4 + 1]
jne 0x1008d92a
inc edx
cmp edx, 5
jne 0x1008d919
jmp 0x1008d99e
lea ecx, [ebp - 0xf4]
call fcn.10097f27
push 4
lea eax, [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10097f53
push 2
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10097f53
push 0x14
lea eax, [edi + 0x9c0]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10097f53
lea ecx, [ebp - 0xf4]
call fcn.100980db
mov esi, dword [ebp - 0x498]
lea ecx, [ebp - 0xf4]
call fcn.10098320
xor edx, edx
mov ecx, dword [eax + edx*4]
cmp ecx, dword [esi + edx*4 + 1]
jne 0x1008d9fb
inc edx
cmp edx, 5
jne 0x1008d98f
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.10091d94
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 0x1008d9d6
push 1
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
push dword [ebp - 0x4c4]
call fcn.1008c2a3
push dword [ebp - 0x498]
call fcn.1009bded
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0xf4]
call fcn.10097f1c
jmp 0x1008dcc2
cmp cl, 0x17
jne 0x1008da2f
cmp eax, 1
jne 0x1008dc7c
push edx
jmp 0x1008dc74
cmp cl, 0x22
jne 0x1008dc7c
cmp eax, 0xd
jne 0x1008dc7c
mov eax, dword [esi + 0x83c]
cmp eax, 5
je 0x1008da5e
cmp eax, 4
je 0x1008da5e
cmp byte [edi + 0x9d4], 0
jne 0x1008da5e
xor cl, cl
jmp 0x1008da6b
mov cl, 1
mov byte [ebp - 0x499], cl
cmp eax, 5
je 0x1008da72
mov byte [ebp - 0x499], 0
push 0
test cl, cl
je 0x1008dc59
push 0xd
push edx
lea ecx, [ebp - 0x490]
call fcn.100808d7
push 8
lea ecx, [ebp - 0x490]
mov dword [ebp - 4], 7
call fcn.10080b49
push 1
push 0x20
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x490]
call fcn.10080cbf
push 1
push 0x10
lea eax, [ebp - 0x4f8]
push eax
lea ecx, [ebp - 0x490]
call fcn.10080cbf
push 1
push 0x10
lea eax, [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x490]
call fcn.10080cbf
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 0x1008db23
cmp byte [esi + 0x82c], 0
lea ecx, [esi + 0x18]
je 0x1008db1c
lea eax, [esi + 0x81c]
push eax
jmp 0x1008db1e
push 0
call fcn.100922ee
push dword [ebp - 0x498]
push 0xd
call fcn.1008e5b1
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.1008bfc2
push esi
mov ecx, edi
mov word [esi], ax
call fcn.10091743
push 7
lea ecx, [ebp - 0x37c]
call fcn.1008089a
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.10080b9c
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.10080b9c
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.10080b9c
call fcn.100853c5
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.1008e1dd
cmp byte [ebp - 0x499], 0
jne 0x1008dc43
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1008de97
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1008ddb5
lea ecx, [ebp - 0x37c]
call fcn.1008093e
lea ecx, [ebp - 0x490]
jmp 0x1008d80b
push 1
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1008c3bd
push dword [ebp - 0x498]
call fcn.1009bded
pop ecx
jmp 0x1008dcc2
cmp eax, 2
jbe 0x1008dc86
cmp cl, 0xc
je 0x1008dc8b
cmp cl, 0x14
jb 0x1008dcc2
push edx
push eax
call fcn.1008e5b1
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.10091743
mov ecx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x498]
push eax
call fcn.10092996
mov edi, dword [ebp - 0x4c8]
mov esi, dword [ebp - 0x4c4]
mov dword [ebp - 0x4b8], eax
test eax, eax
jg 0x1008d20a
jmp 0x1008dd79
mov eax, dword [esi + 0x83c]
cmp eax, 8
je 0x1008dd0d
cmp eax, 4
je 0x1008dd0d
cmp eax, 1
je 0x1008dd0d
cmp eax, 3
jne 0x1008dd60
push 1
call fcn.1008e593
pop ecx
mov ecx, eax
mov eax, dword [esi + 0x83c]
mov edx, dword [ecx + 0x14]
cmp eax, 4
jne 0x1008dd2a
mov byte [edx], 0x1d
jmp 0x1008dd34
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.10091743
push 0
push 1
push 0
push dword [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0x4a4]
call fcn.1008dfe2
mov eax, dword [ebp - 0x4a8]
movzx ecx, word [edi + 8]
inc eax
cmp eax, ecx
mov dword [ebp - 0x4a8], eax
jb 0x1008cfca
mov al, 1
jmp 0x1008cce6