Function at 0x566e80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x6480b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x14]
mov eax, ecx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, 1
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x44], ebx
call fcn.004f80c0
mov ecx, eax
call fcn.004f9de0
mov dl, byte [ebx + 0x18]
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x84], eax
movzx ecx, word [eax + 6]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x70], ecx
mov cl, dl
or cl, 0x40
movzx eax, dl
movzx edx, word [edi + 0xa]
and bl, 4
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0x78], 0
mov bl, cl
mov dword [ebp - 0x5c], 0
xor eax, eax
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x48], bl
mov ecx, 0x516
mov dword [ebp - 0x68], 0
mov byte [0x652aea], 0x10
mov dword [ebp - 0x6c], edx
cmp dl, 0x16
jae 0x566f28
movzx edx, word [edi + 0xc]
mov dword [ebp - 0x6c], edx
jmp 0x566f61
cmp dx, cx
jne 0x566f61
mov ecx, dword [edi]
cmp ecx, 0x11febfa
jne 0x566f3b
mov eax, esi
jmp 0x566f61
cmp ecx, 0x120ebfa
jne 0x566f4a
mov eax, 0x48
jmp 0x566f61
cmp ecx, 0x121ebfa
mov dword [ebp - 0x94], 0x5a
cmove eax, dword [ebp - 0x94]
mov dword [ebp - 0x80], 0
mov ecx, 0x116
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0x216
cmp dl, 0x16
jae 0x566fb8
mov ecx, 0x2a
mov dword [ebp - 0x60], 0x18
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x50], 0x22
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x40], 0x2f
lea edx, [ecx + 0xa]
mov dword [ebp - 0x54], 0xb
lea edi, [ecx - 0xd]
jmp 0x56711b
cmp dx, 0x16
jne 0x566ff3
mov ecx, 0x2e
mov dword [ebp - 0x60], 0x1c
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x50], 0x26
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x40], 0x33
lea edx, [ecx + 0xa]
mov dword [ebp - 0x54], 0x10
lea edi, [ecx - 0xd]
mov dword [ebp - 0x80], esi
jmp 0x56711b
cmp dx, cx
je 0x5670c7
cmp dx, word [ebp - 0x94]
je 0x5670c7
mov ecx, 0x316
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x58], 0xb
mov dword [ebp - 0x80], 2
mov byte [0x652aea], 0x40
cmp dx, cx
je 0x5670aa
mov ecx, 0x416
cmp dx, cx
je 0x5670aa
xor ecx, ecx
mov edi, 0x516
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x50], ecx
cmp dx, di
jne 0x567061
test ax, ax
jne 0x567061
mov dword [ebp - 0x40], 0x24
lea edx, [ecx + 0x29]
xor edi, edi
jmp 0x567118
mov ecx, dword [ebp - 0x6c]
mov edx, 0x1d
mov dword [ebp - 0x40], 0x11a
mov dword [ebp - 0x54], esi
cmp cl, 0x16
ja 0x56708e
cmp cx, di
ja 0x56708e
xor edi, edi
cmp ax, 0x48
jb 0x56711b
mov edi, 0x516
mov dword [ebp - 0x98], esi
cmp cx, di
jne 0x5670a1
xor edi, edi
cmp ax, 0x5a
jne 0x56711b
mov edx, 0x1e
xor edi, edi
jmp 0x56711b
mov ecx, 0x20
mov dword [ebp - 0x50], 0x25
mov dword [ebp - 0x64], ecx
xor edi, edi
mov dword [ebp - 0x40], 0x2b
lea edx, [ecx + 0x10]
jmp 0x567118
xor eax, eax
mov dword [ebp - 0x60], 0x23
cmp dword [edi + 0x3d], eax
mov ecx, 0x1e
mov dword [ebp - 0x64], ecx
mov edi, 0x28
setne al
mov dword [ebp - 0x80], 2
inc eax
mov byte [0x652aea], 0x40
movzx ecx, ax
lea eax, [ecx + 8]
lea eax, [eax + eax*4]
movzx ebx, ax
mov dword [ebp - 0x50], ebx
lea eax, [ebx + 6]
movzx ebx, ax
mov dword [ebp - 0x40], ebx
lea eax, [ebx + 5]
mov ebx, dword [ebp - 0x74]
movzx edx, ax
mov eax, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], esi
movzx eax, dx
push 0x30
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x34]
push 0
push eax
call fcn.005c9220
mov eax, dword [ebp - 0x60]
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
test ax, ax
je 0x5671f1
lea esi, [ebp - 0x34]
movzx eax, ax
add eax, dword [ebp - 0x7c]
push esi
lea esi, [ebp - 0x35]
mov byte [ebp - 0x35], 0
push esi
lea esi, [ebp - 0x36]
mov byte [ebp - 0x36], 0
push esi
push dword [ebp - 0x44]
push ebx
push ecx
push edx
push dword [ebp - 0x4c]
push eax
call fcn.005667f0
movzx esi, ax
xor ecx, ecx
add esp, 0x24
mov dword [ebp - 0x88], ecx
xor ebx, ebx
test si, si
je 0x5671eb
mov eax, dword [ebp - 0x58]
movzx edx, ax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x3c], eax
cmp ebx, edx
jge 0x5671eb
push eax
lea eax, [ebp - 0x35]
mov byte [ebp - 0x35], 0
push eax
lea eax, [ebp - 0x36]
mov byte [ebp - 0x36], 0
push eax
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x7c]
push dword [ebp - 0x48]
add eax, edi
push dword [ebp + 0x10]
add eax, ecx
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push eax
call fcn.005667f0
mov ecx, dword [ebp - 0x88]
add esp, 0x24
mov edx, dword [ebp - 0x74]
add ecx, 5
movzx esi, ax
inc ebx
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x3c], eax
test si, si
jne 0x567193
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x48]
test ax, ax
je 0x56722f
test si, si
je 0x56722f
push 0
lea esi, [ebp - 0x35]
movzx eax, ax
add eax, dword [ebp - 0x7c]
push esi
lea esi, [ebp - 0x36]
mov byte [ebp - 0x35], 0
push esi
push ebx
push edi
push ecx
push edx
push dword [ebp - 0x4c]
mov byte [ebp - 0x36], 0
push eax
call fcn.005667f0
add esp, 0x24
movzx esi, ax
mov eax, dword [ebp - 0x64]
test ax, ax
je 0x567271
test si, si
je 0x567271
lea ecx, [ebp - 0x78]
movzx eax, ax
add eax, dword [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x35]
mov byte [ebp - 0x35], 0
push ecx
lea ecx, [ebp - 0x36]
mov byte [ebp - 0x36], 0
push ecx
push ebx
mov ebx, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
push ebx
push edi
push dword [ebp - 0x4c]
push eax
call fcn.005667f0
add esp, 0x24
movzx esi, ax
jmp 0x567277
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x40]
mov ecx, 0x100
cmp ax, cx
jae 0x5672ba
test si, si
je 0x5672ba
lea ecx, [ebp - 0x5c]
movzx eax, ax
add eax, dword [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x35]
mov byte [ebp - 0x35], 0
push ecx
lea ecx, [ebp - 0x36]
mov byte [ebp - 0x36], 0
push ecx
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push ebx
push edi
push dword [ebp - 0x4c]
push eax
call fcn.005667f0
add esp, 0x24
movzx esi, ax
mov byte [ebp - 0x74], 0
mov byte [ebp - 0x88], 0
test si, si
je 0x567336
mov eax, dword [ebp - 0x54]
xor edi, edi
movzx eax, ax
xor ebx, ebx
mov byte [ebp - 0x35], 0
mov byte [ebp - 0x36], 0
mov dword [ebp - 0x50], eax
nop
cmp edi, eax
jge 0x5673b8
mov eax, dword [ebp - 0x90]
movzx edx, ax
add edx, ebx
add edx, dword [ebp - 0x7c]
cmp dword [ebp - 0x98], 0
jne 0x567382
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x35]
push eax
lea eax, [ebp - 0x36]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push edx
call fcn.005667f0
movzx esi, ax
add esp, 0x24
mov eax, dword [ebp - 0x50]
add ebx, 5
inc edi
test si, si
jne 0x5672e0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x567349
test eax, eax
jne 0x567349
test si, si
jne 0x56736f
mov edx, dword [ebp - 0x7c]
mov ecx, 0x80
mov esi, 0x605a60
mov edi, edx
rep movsd dword es:[edi], dword [esi]
movq xmm0, qword [str.Reload_LILO]
movq qword [edx + 0x70], xmm0
mov eax, dword [0x603ebc]
mov dword [edx + 0x78], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0058bb64
mov esp, ebp
pop ebp
ret 0x14
movzx eax, byte [edx]
lea ecx, [edx + 1]
mov byte [ebp - 0x74], al
movzx eax, byte [ecx]
mov byte [ebp - 0x88], al
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x44]
lea eax, [edx + 2]
push dword [ebp - 0x48]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.00566a40
add esp, 0x24
movzx esi, ax
test si, si
je 0x567336
cmp word [ebp - 0x60], 0
jne 0x5673d9
mov eax, 0x100
cmp word [ebp - 0x40], ax
ja 0x5673ef
cmp dword [ebp - 0x5c], 0
jne 0x5673ef
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
test ecx, ecx
je 0x567340
test eax, eax
je 0x56733c
imul edi, dword [ebp - 0x70], 0xd
push edi
call fcn.00479f2b
mov ebx, eax
add esp, 4
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x50], ebx
lea ecx, [eax + eax*2]
lea eax, [ebx + ecx*4]
mov dword [ebp - 0x3c], eax
test ebx, ebx
je 0x567349
push edi
push 0
push ebx
call fcn.005c9220
add esp, 0xc
cmp word [ebp - 0x54], 1
jne 0x567455
push dword [ebp - 0x88]
lea eax, [ebp - 0x68]
push dword [ebp - 0x74]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push dword [ebp - 0x3c]
push dword [ebp - 0x68]
call fcn.00566ae0
add esp, 0x28
movzx esi, ax
test si, si
je 0x5676dd
mov eax, 0x100
cmp word [ebp - 0x40], ax
jbe 0x56750a
push dword [ebp - 0x84]
mov edi, dword [ebp - 0x68]
push 1
push dword [ebp - 0x3c]
push 0
push edi
call fcn.004faf40
mov edx, dword [ebp - 0x3c]
add esp, 0x14
test eax, eax
je 0x567503
cmp dword [edx + 6], 0x4f4c494c
jne 0x567503
lea eax, [ebp - 0x5c]
mov byte [ebp - 0x35], 0
push eax
lea eax, [ebp - 0x35]
mov byte [ebp - 0x36], 0
push eax
lea eax, [ebp - 0x36]
add edx, 0xffffff00
push eax
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
push dword [ebp - 0x48]
movzx eax, ax
push dword [ebp + 0x10]
add eax, edx
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push eax
call fcn.005667f0
movzx esi, ax
add esp, 0x24
test si, si
je 0x5676dd
push dword [ebp - 0x84]
push 1
push dword [ebp - 0x3c]
push 0
push edi
call fcn.004fafb0
movzx esi, ax
add esp, 0x14
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x56750d
xor esi, esi
jmp 0x5676dd
xor esi, esi
jmp 0x5676e0
mov eax, dword [ebp - 0x5c]
test si, si
je 0x5676dd
cmp word [ebp - 0x60], 0
jne 0x5676dd
push dword [ebp - 0x84]
mov edi, dword [ebp - 0x3c]
push 1
push edi
push 0
push eax
call fcn.004faf40
movzx esi, ax
add esp, 0x14
test si, si
je 0x5676dd
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff8
push eax
push edi
call fcn.00566cc0
mov edx, edi
add esp, 8
mov edi, dword [ebp - 0x70]
cmp eax, dword [edx + edi - 8]
jne 0x567503
cmp word [ebp - 0x64], 0
mov edi, 0x1bc
jne 0x567624
cmp dword [edx + 0x1ac], 0
mov edi, 0x1ac
je 0x567587
xor esi, esi
jmp 0x567624
cmp dword [edx + 0x1b2], 0
mov edi, 0x1b2
jne 0x5675a1
add edi, 4
movzx eax, di
cmp dword [eax + edx], 0
je 0x567595
movzx eax, di
cmp byte [eax + edx], 0
jne 0x5675bf
movsx ecx, byte [eax + edx + 1]
movsx eax, byte [eax + edx + 6]
inc ecx
cmp ecx, eax
jne 0x5675bf
add edi, 0xfffc
mov ebx, dword [ebp + 0x10]
lea eax, [ebp - 0x78]
mov esi, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x35]
mov byte [ebp - 0x35], 0
push eax
lea eax, [ebp - 0x36]
mov byte [ebp - 0x36], 0
push eax
push dword [ebp - 0x44]
movzx eax, di
push dword [ebp - 0x48]
add eax, edx
push ebx
push esi
push dword [ebp - 0x4c]
push eax
call fcn.005667f0
push 0
lea eax, [ebp - 0x35]
mov byte [ebp - 0x35], 0
push eax
lea eax, [ebp - 0x36]
mov byte [ebp - 0x36], 0
push eax
push dword [ebp - 0x44]
add edi, 5
push dword [ebp - 0x48]
movzx eax, di
add eax, dword [ebp - 0x3c]
push ebx
push esi
push dword [ebp - 0x4c]
push eax
call fcn.005667f0
add esp, 0x48
movzx esi, ax
add edi, 5
xor ebx, ebx
mov byte [ebp - 0x35], 0
mov byte [ebp - 0x36], 0
movzx edx, di
test si, si
je 0x5676da
mov eax, dword [ebp - 0x58]
lea edi, [ebp - 0x34]
movzx ecx, ax
mov eax, dword [ebp - 0x3c]
inc ecx
add eax, edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x74], eax
cmp ebx, ecx
jge 0x5676a2
push edi
lea ecx, [ebp - 0x35]
push ecx
lea ecx, [ebp - 0x36]
push ecx
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push eax
call fcn.005667f0
add esp, 0x24
movzx esi, ax
cmp dword [edi], 0
je 0x567699
mov eax, dword [ebp - 0x74]
inc ebx
mov ecx, dword [ebp - 0x90]
add eax, 5
add edi, 4
mov dword [ebp - 0x74], eax
test si, si
jne 0x567652
jmp 0x5676da
lea eax, [ebx - 1]
movzx eax, ax
mov dword [ebp - 0x58], eax
test si, si
je 0x5676da
mov eax, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x3c]
add eax, 0xfffffff8
push eax
push ebx
call fcn.00566cc0
push dword [ebp - 0x84]
mov ecx, dword [ebp - 0x70]
push 1
push ebx
push 0
push dword [ebp - 0x5c]
mov dword [ebx + ecx - 8], eax
call fcn.004fafb0
add esp, 0x1c
movzx esi, ax
mov ebx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x567706
push 0
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push edx
push eax
call fcn.00566ae0
add esp, 0x28
mov eax, dword [ebp - 0x58]
xor edi, edi
inc eax
movzx edx, ax
mov dword [ebp - 0x8c], edx
test si, si
je 0x567b7a
movzx eax, dx
mov dword [ebp - 0x58], eax
cmp edi, eax
jge 0x567760
push dword [ebp - 0x84]
push 1
push ebx
push 0
push dword [ebp + edi*4 - 0x34]
call fcn.004faf40
add ebx, dword [ebp - 0x70]
add esp, 0x14
movzx esi, ax
inc edi
mov eax, dword [ebp - 0x58]
test si, si
jne 0x567724
push 1
push dword [ebp - 0x50]
call fcn.0058bb51
add esp, 8
jmp 0x567344
test si, si
je 0x567b7a
mov edx, dword [ebp - 0x8c]
cmp dx, 1
jbe 0x567b7a
mov edi, dword [ebp - 0x50]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x60], eax
xor ebx, ebx
mov dword [ebp - 0x40], ecx
xor esi, esi
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x80], eax
jne 0x5677e8
mov dword [ebp - 0x6c], 0xabcd
mov eax, 2
mov cx, word [ebp - 0x6c]
nop dword [eax + eax]
xor cx, word [edi + eax]
add eax, 2
cmp eax, 0x400
jl 0x5677b0
lea eax, [edi + 2]
mov dword [ebp - 0x60], eax
xor eax, eax
cmp cx, word [edi]
sete al
movzx esi, ax
mov eax, dword [ebp - 0x70]
lea ecx, [eax*2 - 2]
mov eax, 0x4ec4ec4f
mul ecx
shr edx, 4
jmp 0x567916
imul edx, dword [ebp - 0x9c]
sub edx, 4
push edx
push edi
call fcn.00566cc0
mov edx, dword [ebp - 0x58]
add esp, 8
imul edx, dword [ebp - 0x70]
cmp eax, dword [edx + edi - 4]
jne 0x567b7a
cmp dword [ebp - 0x80], 1
jne 0x567820
mov dword [ebp - 0x60], edi
mov esi, 0x34
jmp 0x567907
movzx eax, byte [edi + 0x23]
mov ebx, edi
and eax, 0x8f
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x40], edi
mov ecx, edi
cmp eax, 0x80
jb 0x567841
cmp eax, 0x87
jbe 0x567846
xor ebx, ebx
mov dword [ebp - 0x54], ebx
movzx eax, byte [edi + 0x2f]
and eax, 0x8f
cmp eax, 0x80
jb 0x56785d
cmp eax, 0x87
jbe 0x567862
xor ecx, ecx
mov dword [ebp - 0x40], ecx
test ebx, ebx
jne 0x5678b7
test ecx, ecx
jne 0x5678c1
movzx eax, byte [edi + 0x33]
mov ebx, edi
and eax, 0x8f
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x40], edi
mov ecx, edi
mov dword [ebp - 0x5c], 0x10
cmp eax, 0x80
jb 0x567892
cmp eax, 0x87
jbe 0x567897
xor ebx, ebx
mov dword [ebp - 0x54], ebx
movzx eax, byte [edi + 0x3f]
and eax, 0x8f
cmp eax, 0x80
jb 0x5678ae
cmp eax, 0x87
jbe 0x5678b3
xor ecx, ecx
mov dword [ebp - 0x40], ecx
test ebx, ebx
je 0x5678c1
xor eax, eax
test ecx, ecx
cmovne ebx, eax
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x6c]
mov edi, 0x116
cmp ax, di
je 0x56792d
cmp ax, word [ebp - 0x94]
je 0x56792d
mov edi, ebx
mov eax, ecx
xor ebx, ebx
mov dword [ebp - 0x78], edi
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x40], ecx
test edi, edi
je 0x5678f4
lea esi, [ebx + 0x2a]
jmp 0x567907
test eax, eax
mov ecx, 0x36
cmovne esi, ecx
test si, si
je 0x567b7a
lea eax, [edx - 4]
movzx ecx, si
add ecx, dword [ebp - 0x5c]
xor edx, edx
div ecx
mov edx, eax
test si, si
je 0x567b7a
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x40]
test eax, eax
je 0x567943
mov edi, eax
jmp 0x56795e
test ebx, ebx
je 0x567938
mov esi, 0x2c
jmp 0x567907
test ecx, ecx
je 0x5678fe
mov esi, 0x38
jmp 0x567907
test ecx, ecx
je 0x56794b
mov edi, ecx
jmp 0x56795e
test ebx, ebx
je 0x567953
mov edi, ebx
jmp 0x56795e
cmp dword [ebp - 0x68], 0
mov edi, dword [ebp - 0x78]
cmovne edi, dword [ebp - 0x68]
movzx edx, dx
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x90], edx
nop
cmp dword [ebp - 0x6c], edx
jge 0x567aec
cmp byte [edi], 0
je 0x567aec
test eax, eax
je 0x567997
mov ecx, dword [eax + 0x20]
lea edx, [eax + 0x24]
lea ebx, [eax + 0x29]
add eax, 0x34
mov dword [ebp - 0x60], eax
jmp 0x5679fb
test ecx, ecx
je 0x5679b1
mov eax, dword [ebp - 0x5c]
add eax, ecx
mov ecx, dword [eax + 0x24]
lea edx, [eax + 0x28]
lea ebx, [eax + 0x2d]
add eax, 0x38
mov dword [ebp - 0x40], eax
jmp 0x5679fb
test ebx, ebx
je 0x5679cb
mov eax, dword [ebp - 0x5c]
add eax, ebx
mov ecx, dword [eax + 0x18]
lea edi, [eax + 0x2c]
lea edx, [eax + 0x1c]
mov dword [ebp - 0x54], edi
lea ebx, [eax + 0x21]
jmp 0x5679fd
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x5679e6
add eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x24]
lea edx, [eax + 0x28]
lea ebx, [eax + 0x2d]
add eax, 0x36
mov dword [ebp - 0x68], eax
jmp 0x5679fb
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x78]
mov ecx, dword [eax + 0x18]
lea edx, [eax + 0x1c]
lea ebx, [eax + 0x21]
add eax, 0x2a
mov dword [ebp - 0x78], eax
mov edi, eax
mov byte [ebp - 0x35], 0
mov byte [ebp - 0x36], 0
mov dword [ebp - 0x64], 0
test ecx, ecx
je 0x567a62
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x35]
push eax
lea eax, [ebp - 0x36]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push edx
call fcn.005667f0
movzx esi, ax
add esp, 0x24
test si, si
je 0x567a62
push 0
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push dword [ebp - 0x3c]
push dword [ebp - 0x64]
call fcn.00566ae0
add esp, 0x28
movzx esi, ax
mov dword [ebp - 0x64], 0
test si, si
je 0x567abd
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x35]
push eax
lea eax, [ebp - 0x36]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push esi
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push ebx
call fcn.005667f0
add esp, 0x24
test eax, eax
je 0x567abd
push 0
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push esi
push dword [ebp + 0xc]
push dword [ebp - 0x4c]
push dword [ebp - 0x3c]
push dword [ebp - 0x64]
call fcn.00566ae0
add esp, 0x28
movzx esi, ax
jmp 0x567abf
xor esi, esi
inc dword [ebp - 0x6c]
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x90]
test si, si
jne 0x567970
push 1
push dword [ebp - 0x50]
call fcn.0058bb51
add esp, 8
jmp 0x567344
test si, si
je 0x567b7a
cmp dword [ebp - 0x80], 0
mov ebx, dword [ebp - 0x50]
jne 0x567b26
mov dword [ebp - 0x6c], 0xabcd
mov eax, 2
mov cx, word [ebp - 0x6c]
nop
xor cx, word [ebx + eax]
add eax, 2
cmp eax, 0x400
jl 0x567b10
mov edx, dword [ebp - 0x58]
mov word [ebx], cx
jmp 0x567b4d
mov eax, dword [ebp - 0x8c]
imul eax, dword [ebp - 0x9c]
sub eax, 4
push eax
push ebx
call fcn.00566cc0
mov edx, dword [ebp - 0x58]
add esp, 8
mov ecx, edx
imul ecx, dword [ebp - 0x70]
mov dword [ecx + ebx - 4], eax
xor edi, edi
nop
cmp edi, edx
jge 0x567b7a
push dword [ebp - 0x84]
push 1
push ebx
push 0
push dword [ebp + edi*4 - 0x34]
call fcn.004fafb0
add ebx, dword [ebp - 0x70]
add esp, 0x14
mov edx, dword [ebp - 0x58]
inc edi
movzx esi, ax
test si, si
jne 0x567b50
push 1
push dword [ebp - 0x50]
call fcn.0058bb51
add esp, 8
jmp 0x567344