Function at 0x560700
Capabilities:
Encrypt data using twofish

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b8
mov eax, dword [0x6b4774]
xor eax, ebp
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x20], 0
cmp dword [0x6b33e8], 0
je 0x560732
call fcn.00560080
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
lea edx, [ecx + ecx + 8]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
add eax, 0x3f
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x1c], 0
mov edx, dword [ebp - 0x240]
sub edx, 1
mov dword [ebp - 0x254], edx
jmp 0x56078d
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x254]
sub ecx, 1
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x240]
jge 0x560802
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax*4 + 0x10]
mov dword [ebp + ecx*4 - 0x30], eax
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + ecx*4 + 0x14]
mov dword [ebp + edx*4 - 0x10], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + edx*4 - 0x10]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + ecx*4 - 0x30]
push edx
call fcn.0055ff90
add esp, 8
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp + 8]
mov dword [edx + ecx*4 + 0x30], eax
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + ecx*4 + 0x30]
mov dword [ebp + eax*4 - 0x250], ecx
jmp 0x560775
mov dword [ebp - 0x34], 0
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
jmp 0x560826
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x2020202
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x18]
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x1c], eax
jge 0x560bd4
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x240]
and eax, 3
mov dword [ebp - 0x2b0], eax
je 0x56086c
cmp dword [ebp - 0x2b0], 2
je 0x56093c
cmp dword [ebp - 0x2b0], 3
je 0x5608d4
jmp 0x5609e2
movzx ecx, byte [ebp - 0x258]
movzx edx, byte [ecx + 0x6b32e8]
movzx eax, byte [ebp - 0x24]
xor edx, eax
mov byte [ebp - 0x258], dl
movzx ecx, byte [ebp - 0x257]
movzx edx, byte [ecx + 0x6b31e8]
movzx eax, byte [ebp - 0x23]
xor edx, eax
mov byte [ebp - 0x257], dl
movzx ecx, byte [ebp - 0x256]
movzx edx, byte [ecx + 0x6b31e8]
movzx eax, byte [ebp - 0x22]
xor edx, eax
mov byte [ebp - 0x256], dl
movzx ecx, byte [ebp - 0x255]
movzx edx, byte [ecx + 0x6b32e8]
movzx eax, byte [ebp - 0x21]
xor edx, eax
mov byte [ebp - 0x255], dl
movzx ecx, byte [ebp - 0x258]
movzx edx, byte [ecx + 0x6b32e8]
movzx eax, byte [ebp - 0x28]
xor edx, eax
mov byte [ebp - 0x258], dl
movzx ecx, byte [ebp - 0x257]
movzx edx, byte [ecx + 0x6b32e8]
movzx eax, byte [ebp - 0x27]
xor edx, eax
mov byte [ebp - 0x257], dl
movzx ecx, byte [ebp - 0x256]
movzx edx, byte [ecx + 0x6b31e8]
movzx eax, byte [ebp - 0x26]
xor edx, eax
mov byte [ebp - 0x256], dl
movzx ecx, byte [ebp - 0x255]
movzx edx, byte [ecx + 0x6b31e8]
movzx eax, byte [ebp - 0x25]
xor edx, eax
mov byte [ebp - 0x255], dl
movzx ecx, byte [ebp - 0x258]
movzx edx, byte [ecx + 0x6b31e8]
movzx eax, byte [ebp - 0x2c]
xor edx, eax
movzx ecx, byte [edx + 0x6b31e8]
movzx edx, byte [ebp - 0x30]
xor ecx, edx
movzx eax, byte [ebp - 0x257]
movzx edx, byte [eax + 0x6b32e8]
movzx eax, byte [ebp - 0x2b]
xor edx, eax
movzx edx, byte [edx + 0x6b31e8]
movzx eax, byte [ebp - 0x2f]
xor edx, eax
mov ecx, dword [ecx*4 + 0x6b8f08]
xor ecx, dword [edx*4 + 0x6b9308]
movzx edx, byte [ebp - 0x256]
movzx eax, byte [edx + 0x6b31e8]
movzx edx, byte [ebp - 0x2a]
xor eax, edx
movzx eax, byte [eax + 0x6b32e8]
movzx edx, byte [ebp - 0x2e]
xor eax, edx
xor ecx, dword [eax*4 + 0x6b9708]
movzx eax, byte [ebp - 0x255]
movzx edx, byte [eax + 0x6b32e8]
movzx eax, byte [ebp - 0x29]
xor edx, eax
movzx edx, byte [edx + 0x6b32e8]
movzx eax, byte [ebp - 0x2d]
xor edx, eax
xor ecx, dword [edx*4 + 0x6b9b08]
mov dword [ebp - 0x23c], ecx
mov ecx, dword [ebp - 0x34]
add ecx, 0x1010101
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x240]
and edx, 3
mov dword [ebp - 0x2b4], edx
je 0x560a1d
cmp dword [ebp - 0x2b4], 2
je 0x560aed
cmp dword [ebp - 0x2b4], 3
je 0x560a85
jmp 0x560b90
movzx eax, byte [ebp - 0x25c]
movzx ecx, byte [eax + 0x6b32e8]
movzx edx, byte [ebp - 4]
xor ecx, edx
mov byte [ebp - 0x25c], cl
movzx eax, byte [ebp - 0x25b]
movzx ecx, byte [eax + 0x6b31e8]
movzx edx, byte [ebp - 3]
xor ecx, edx
mov byte [ebp - 0x25b], cl
movzx eax, byte [ebp - 0x25a]
movzx ecx, byte [eax + 0x6b31e8]
movzx edx, byte [ebp - 2]
xor ecx, edx
mov byte [ebp - 0x25a], cl
movzx eax, byte [ebp - 0x259]
movzx ecx, byte [eax + 0x6b32e8]
movzx edx, byte [ebp - 1]
xor ecx, edx
mov byte [ebp - 0x259], cl
movzx eax, byte [ebp - 0x25c]
movzx ecx, byte [eax + 0x6b32e8]
movzx edx, byte [ebp - 8]
xor ecx, edx
mov byte [ebp - 0x25c], cl
movzx eax, byte [ebp - 0x25b]
movzx ecx, byte [eax + 0x6b32e8]
movzx edx, byte [ebp - 7]
xor ecx, edx
mov byte [ebp - 0x25b], cl
movzx eax, byte [ebp - 0x25a]
movzx ecx, byte [eax + 0x6b31e8]
movzx edx, byte [ebp - 6]
xor ecx, edx
mov byte [ebp - 0x25a], cl
movzx eax, byte [ebp - 0x259]
movzx ecx, byte [eax + 0x6b31e8]
movzx edx, byte [ebp - 5]
xor ecx, edx
mov byte [ebp - 0x259], cl
movzx eax, byte [ebp - 0x25c]
movzx ecx, byte [eax + 0x6b31e8]
movzx edx, byte [ebp - 0xc]
xor ecx, edx
movzx eax, byte [ecx + 0x6b31e8]
movzx ecx, byte [ebp - 0x10]
xor eax, ecx
movzx edx, byte [ebp - 0x25b]
movzx ecx, byte [edx + 0x6b32e8]
movzx edx, byte [ebp - 0xb]
xor ecx, edx
movzx ecx, byte [ecx + 0x6b31e8]
movzx edx, byte [ebp - 0xf]
xor ecx, edx
mov eax, dword [eax*4 + 0x6b8f08]
xor eax, dword [ecx*4 + 0x6b9308]
movzx ecx, byte [ebp - 0x25a]
movzx edx, byte [ecx + 0x6b31e8]
movzx ecx, byte [ebp - 0xa]
xor edx, ecx
movzx edx, byte [edx + 0x6b32e8]
movzx ecx, byte [ebp - 0xe]
xor edx, ecx
xor eax, dword [edx*4 + 0x6b9708]
movzx edx, byte [ebp - 0x259]
movzx ecx, byte [edx + 0x6b32e8]
movzx edx, byte [ebp - 9]
xor ecx, edx
movzx ecx, byte [ecx + 0x6b32e8]
movzx edx, byte [ebp - 0xd]
xor ecx, edx
xor eax, dword [ecx*4 + 0x6b9b08]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
rol eax, 8
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x23c]
add ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + edx*4 + 0x40], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x23c]
lea eax, [edx + ecx*2]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
rol ecx, 9
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + edx*4 + 0x44], ecx
jmp 0x560811
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x2b8], ecx
cmp dword [ebp - 0x2b8], 0x80
je 0x560c0e
cmp dword [ebp - 0x2b8], 0xc0
je 0x560e9b
cmp dword [ebp - 0x2b8], 0x100
je 0x5611d0
jmp 0x5616c4
movzx edx, byte [ebp - 0x24c]
push edx
push 0x6b31e8
lea eax, [ebp - 0x138]
push eax
call fcn.00560300
add esp, 0xc
movzx ecx, byte [ebp - 0x250]
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x1c], 0
jmp 0x560c49
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x100
jge 0x560cb0
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x138]
movzx edx, byte [ecx + 0x6b31e8]
xor edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b8f08]
mov dword [ecx + eax*4 + 0xe0], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x137]
movzx edx, byte [ecx + 0x6b31e8]
xor edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b8f08]
mov dword [ecx + eax*4 + 0xe8], edx
jmp 0x560c40
movzx eax, byte [ebp - 0x24b]
push eax
push 0x6b32e8
lea ecx, [ebp - 0x138]
push ecx
call fcn.00560300
add esp, 0xc
movzx edx, byte [ebp - 0x24f]
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x1c], 0
jmp 0x560ceb
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x560d52
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x138]
movzx eax, byte [edx + 0x6b31e8]
xor eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6b9308]
mov dword [edx + ecx*4 + 0xe4], eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x137]
movzx eax, byte [edx + 0x6b31e8]
xor eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6b9308]
mov dword [edx + ecx*4 + 0xec], eax
jmp 0x560ce2
movzx ecx, byte [ebp - 0x24a]
push ecx
push 0x6b31e8
lea edx, [ebp - 0x138]
push edx
call fcn.00560300
add esp, 0xc
movzx eax, byte [ebp - 0x24e]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x1c], 0
jmp 0x560d8d
mov ecx, dword [ebp - 0x1c]
add ecx, 2
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0x100
jge 0x560df4
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x138]
movzx ecx, byte [eax + 0x6b32e8]
xor ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x6b9708]
mov dword [eax + edx*4 + 0x8e0], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x137]
movzx ecx, byte [eax + 0x6b32e8]
xor ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x6b9708]
mov dword [eax + edx*4 + 0x8e8], ecx
jmp 0x560d84
movzx edx, byte [ebp - 0x249]
push edx
push 0x6b32e8
lea eax, [ebp - 0x138]
push eax
call fcn.00560300
add esp, 0xc
movzx ecx, byte [ebp - 0x24d]
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x1c], 0
jmp 0x560e2f
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x100
jge 0x560e96
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x138]
movzx edx, byte [ecx + 0x6b32e8]
xor edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b9b08]
mov dword [ecx + eax*4 + 0x8e4], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x137]
movzx edx, byte [ecx + 0x6b32e8]
xor edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b9b08]
mov dword [ecx + eax*4 + 0x8ec], edx
jmp 0x560e26
jmp 0x5616c4
movzx eax, byte [ebp - 0x248]
push eax
push 0x6b32e8
lea ecx, [ebp - 0x138]
push ecx
call fcn.00560300
add esp, 0xc
movzx edx, byte [ebp - 0x250]
mov dword [ebp - 0x270], edx
movzx eax, byte [ebp - 0x24c]
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x1c], 0
jmp 0x560ee3
mov ecx, dword [ebp - 0x1c]
add ecx, 2
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0x100
jge 0x560f67
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x138]
movzx ecx, byte [eax + 0x6b31e8]
xor ecx, dword [ebp - 0x274]
movzx edx, byte [ecx + 0x6b31e8]
xor edx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b8f08]
mov dword [ecx + eax*4 + 0xe0], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x137]
movzx edx, byte [ecx + 0x6b31e8]
xor edx, dword [ebp - 0x274]
movzx eax, byte [edx + 0x6b31e8]
xor eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6b8f08]
mov dword [edx + ecx*4 + 0xe8], eax
jmp 0x560eda
movzx ecx, byte [ebp - 0x247]
push ecx
push 0x6b32e8
lea edx, [ebp - 0x138]
push edx
call fcn.00560300
add esp, 0xc
movzx eax, byte [ebp - 0x24f]
mov dword [ebp - 0x278], eax
movzx ecx, byte [ebp - 0x24b]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x1c], 0
jmp 0x560faf
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x100
jge 0x561033
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x138]
movzx edx, byte [ecx + 0x6b32e8]
xor edx, dword [ebp - 0x27c]
movzx eax, byte [edx + 0x6b31e8]
xor eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6b9308]
mov dword [edx + ecx*4 + 0xe4], eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x137]
movzx eax, byte [edx + 0x6b32e8]
xor eax, dword [ebp - 0x27c]
movzx ecx, byte [eax + 0x6b31e8]
xor ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x6b9308]
mov dword [eax + edx*4 + 0xec], ecx
jmp 0x560fa6
movzx edx, byte [ebp - 0x246]
push edx
push 0x6b31e8
lea eax, [ebp - 0x138]
push eax
call fcn.00560300
add esp, 0xc
movzx ecx, byte [ebp - 0x24e]
mov dword [ebp - 0x280], ecx
movzx edx, byte [ebp - 0x24a]
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x1c], 0
jmp 0x56107b
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x5610ff
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x138]
movzx eax, byte [edx + 0x6b31e8]
xor eax, dword [ebp - 0x284]
movzx ecx, byte [eax + 0x6b32e8]
xor ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x6b9708]
mov dword [eax + edx*4 + 0x8e0], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x137]
movzx ecx, byte [eax + 0x6b31e8]
xor ecx, dword [ebp - 0x284]
movzx edx, byte [ecx + 0x6b32e8]
xor edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b9708]
mov dword [ecx + eax*4 + 0x8e8], edx
jmp 0x561072
movzx eax, byte [ebp - 0x245]
push eax
push 0x6b31e8
lea ecx, [ebp - 0x138]
push ecx
call fcn.00560300
add esp, 0xc
movzx edx, byte [ebp - 0x24d]
mov dword [ebp - 0x288], edx
movzx eax, byte [ebp - 0x249]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x1c], 0
jmp 0x561147
mov ecx, dword [ebp - 0x1c]
add ecx, 2
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0x100
jge 0x5611cb
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x138]
movzx ecx, byte [eax + 0x6b32e8]
xor ecx, dword [ebp - 0x28c]
movzx edx, byte [ecx + 0x6b32e8]
xor edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b9b08]
mov dword [ecx + eax*4 + 0x8e4], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x137]
movzx edx, byte [ecx + 0x6b32e8]
xor edx, dword [ebp - 0x28c]
movzx eax, byte [edx + 0x6b32e8]
xor eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6b9b08]
mov dword [edx + ecx*4 + 0x8ec], eax
jmp 0x56113e
jmp 0x5616c4
movzx ecx, byte [ebp - 0x244]
push ecx
push 0x6b32e8
lea edx, [ebp - 0x238]
push edx
call fcn.00560300
add esp, 0xc
mov dword [ebp - 0x1c], 0
jmp 0x5611fe
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x56123f
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x238]
mov eax, dword [ebp - 0x1c]
mov cl, byte [edx + 0x6b32e8]
mov byte [ebp + eax - 0x138], cl
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x237]
mov ecx, dword [ebp - 0x1c]
mov dl, byte [eax + 0x6b32e8]
mov byte [ebp + ecx - 0x137], dl
jmp 0x5611f5
movzx eax, byte [ebp - 0x248]
push eax
lea ecx, [ebp - 0x138]
push ecx
lea edx, [ebp - 0x138]
push edx
call fcn.00560300
add esp, 0xc
movzx eax, byte [ebp - 0x250]
mov dword [ebp - 0x290], eax
movzx ecx, byte [ebp - 0x24c]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x1c], 0
jmp 0x561289
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x100
jge 0x56130d
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x138]
movzx edx, byte [ecx + 0x6b31e8]
xor edx, dword [ebp - 0x294]
movzx eax, byte [edx + 0x6b31e8]
xor eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6b8f08]
mov dword [edx + ecx*4 + 0xe0], eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x137]
movzx eax, byte [edx + 0x6b31e8]
xor eax, dword [ebp - 0x294]
movzx ecx, byte [eax + 0x6b31e8]
xor ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x6b8f08]
mov dword [eax + edx*4 + 0xe8], ecx
jmp 0x561280
movzx edx, byte [ebp - 0x243]
push edx
push 0x6b31e8
lea eax, [ebp - 0x238]
push eax
call fcn.00560300
add esp, 0xc
mov dword [ebp - 0x1c], 0
jmp 0x56133b
mov ecx, dword [ebp - 0x1c]
add ecx, 2
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0x100
jge 0x56137c
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x238]
mov ecx, dword [ebp - 0x1c]
mov dl, byte [eax + 0x6b32e8]
mov byte [ebp + ecx - 0x138], dl
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x237]
mov edx, dword [ebp - 0x1c]
mov al, byte [ecx + 0x6b32e8]
mov byte [ebp + edx - 0x137], al
jmp 0x561332
movzx ecx, byte [ebp - 0x247]
push ecx
lea edx, [ebp - 0x138]
push edx
lea eax, [ebp - 0x138]
push eax
call fcn.00560300
add esp, 0xc
movzx ecx, byte [ebp - 0x24f]
mov dword [ebp - 0x298], ecx
movzx edx, byte [ebp - 0x24b]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x1c], 0
jmp 0x5613c6
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x56144a
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x138]
movzx eax, byte [edx + 0x6b32e8]
xor eax, dword [ebp - 0x29c]
movzx ecx, byte [eax + 0x6b31e8]
xor ecx, dword [ebp - 0x298]
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x6b9308]
mov dword [eax + edx*4 + 0xe4], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x137]
movzx ecx, byte [eax + 0x6b32e8]
xor ecx, dword [ebp - 0x29c]
movzx edx, byte [ecx + 0x6b31e8]
xor edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b9308]
mov dword [ecx + eax*4 + 0xec], edx
jmp 0x5613bd
movzx eax, byte [ebp - 0x242]
push eax
push 0x6b31e8
lea ecx, [ebp - 0x238]
push ecx
call fcn.00560300
add esp, 0xc
mov dword [ebp - 0x1c], 0
jmp 0x561478
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x100
jge 0x5614b9
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x238]
mov edx, dword [ebp - 0x1c]
mov al, byte [ecx + 0x6b31e8]
mov byte [ebp + edx - 0x138], al
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x237]
mov eax, dword [ebp - 0x1c]
mov cl, byte [edx + 0x6b31e8]
mov byte [ebp + eax - 0x137], cl
jmp 0x56146f
movzx edx, byte [ebp - 0x246]
push edx
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x138]
push ecx
call fcn.00560300
add esp, 0xc
movzx edx, byte [ebp - 0x24e]
mov dword [ebp - 0x2a0], edx
movzx eax, byte [ebp - 0x24a]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x1c], 0
jmp 0x561503
mov ecx, dword [ebp - 0x1c]
add ecx, 2
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0x100
jge 0x561587
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x138]
movzx ecx, byte [eax + 0x6b31e8]
xor ecx, dword [ebp - 0x2a4]
movzx edx, byte [ecx + 0x6b32e8]
xor edx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [edx*4 + 0x6b9708]
mov dword [ecx + eax*4 + 0x8e0], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x137]
movzx edx, byte [ecx + 0x6b31e8]
xor edx, dword [ebp - 0x2a4]
movzx eax, byte [edx + 0x6b32e8]
xor eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6b9708]
mov dword [edx + ecx*4 + 0x8e8], eax
jmp 0x5614fa
movzx ecx, byte [ebp - 0x241]
push ecx
push 0x6b32e8
lea edx, [ebp - 0x238]
push edx
call fcn.00560300
add esp, 0xc
mov dword [ebp - 0x1c], 0
jmp 0x5615b5
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x5615f6
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x238]
mov eax, dword [ebp - 0x1c]
mov cl, byte [edx + 0x6b31e8]
mov byte [ebp + eax - 0x138], cl
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + edx - 0x237]
mov ecx, dword [ebp - 0x1c]
mov dl, byte [eax + 0x6b31e8]
mov byte [ebp + ecx - 0x137], dl
jmp 0x5615ac
movzx eax, byte [ebp - 0x245]
push eax
lea ecx, [ebp - 0x138]
push ecx
lea edx, [ebp - 0x138]
push edx
call fcn.00560300
add esp, 0xc
movzx eax, byte [ebp - 0x24d]
mov dword [ebp - 0x2a8], eax
movzx ecx, byte [ebp - 0x249]
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x1c], 0
jmp 0x561640
mov edx, dword [ebp - 0x1c]
add edx, 2
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x100
jge 0x5616c4
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [ebp + eax - 0x138]
movzx edx, byte [ecx + 0x6b32e8]
xor edx, dword [ebp - 0x2ac]
movzx eax, byte [edx + 0x6b32e8]
xor eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6b9b08]
mov dword [edx + ecx*4 + 0x8e4], eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x137]
movzx eax, byte [edx + 0x6b32e8]
xor eax, dword [ebp - 0x2ac]
movzx ecx, byte [eax + 0x6b32e8]
xor ecx, dword [ebp - 0x2a8]
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x6b9b08]
mov dword [eax + edx*4 + 0x8ec], ecx
jmp 0x561637
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
test eax, eax
jne 0x5616dc
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00560270
add esp, 8
mov eax, 1
mov ecx, dword [ebp - 0x38]
xor ecx, ebp
call fcn.0058bad0
mov esp, ebp
pop ebp
ret