Function at 0x55067e
Capabilities:
Encrypt data using twofish

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b8
mov eax, dword [0x6c0bc0]
xor eax, dword [ebp + 4]
mov dword [ebp - 0x38], eax
and dword [ebp - 0x23c], 0
and dword [ebp - 0x20], 0
cmp dword [0x6bea90], 0
je 0x5506ab
call fcn.0055002e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, 0x3f
cdq
push 0x40
pop ecx
idiv ecx
mov dword [ebp - 0x240], eax
and dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x240]
dec eax
mov dword [ebp - 0x254], eax
jmp 0x5506fa
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x254]
dec eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x240]
jge 0x55076c
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 eax, dword [ebp - 0x1c]
shl eax, 1
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax*4 + 0x14]
mov dword [ebp + ecx*4 - 0x10], eax
mov eax, dword [ebp - 0x1c]
push dword [ebp + eax*4 - 0x10]
mov eax, dword [ebp - 0x1c]
push dword [ebp + eax*4 - 0x30]
call fcn.0054ff56
pop ecx
pop ecx
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 0x5506e6
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
jmp 0x55078a
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x34]
add eax, 0x2020202
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x1c], eax
jge 0x550b45
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x240]
and eax, 3
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
je 0x5507d7
cmp dword [ebp - 0x2b0], 2
je 0x5508a7
cmp dword [ebp - 0x2b0], 3
je 0x55083f
jmp 0x55094d
movzx eax, byte [ebp - 0x258]
movzx eax, byte [eax + 0x6be990]
movzx ecx, byte [ebp - 0x24]
xor eax, ecx
mov byte [ebp - 0x258], al
movzx eax, byte [ebp - 0x257]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 0x23]
xor eax, ecx
mov byte [ebp - 0x257], al
movzx eax, byte [ebp - 0x256]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 0x22]
xor eax, ecx
mov byte [ebp - 0x256], al
movzx eax, byte [ebp - 0x255]
movzx eax, byte [eax + 0x6be990]
movzx ecx, byte [ebp - 0x21]
xor eax, ecx
mov byte [ebp - 0x255], al
movzx eax, byte [ebp - 0x258]
movzx eax, byte [eax + 0x6be990]
movzx ecx, byte [ebp - 0x28]
xor eax, ecx
mov byte [ebp - 0x258], al
movzx eax, byte [ebp - 0x257]
movzx eax, byte [eax + 0x6be990]
movzx ecx, byte [ebp - 0x27]
xor eax, ecx
mov byte [ebp - 0x257], al
movzx eax, byte [ebp - 0x256]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 0x26]
xor eax, ecx
mov byte [ebp - 0x256], al
movzx eax, byte [ebp - 0x255]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 0x25]
xor eax, ecx
mov byte [ebp - 0x255], al
movzx eax, byte [ebp - 0x258]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 0x2c]
xor eax, ecx
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 0x30]
xor eax, ecx
movzx ecx, byte [ebp - 0x257]
movzx ecx, byte [ecx + 0x6be990]
movzx edx, byte [ebp - 0x2b]
xor ecx, edx
movzx ecx, byte [ecx + 0x6be890]
movzx edx, byte [ebp - 0x2f]
xor ecx, edx
mov eax, dword [eax*4 + 0x6c4f78]
xor eax, dword [ecx*4 + 0x6c5378]
movzx ecx, byte [ebp - 0x256]
movzx ecx, byte [ecx + 0x6be890]
movzx edx, byte [ebp - 0x2a]
xor ecx, edx
movzx ecx, byte [ecx + 0x6be990]
movzx edx, byte [ebp - 0x2e]
xor ecx, edx
xor eax, dword [ecx*4 + 0x6c5778]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ecx + 0x6be990]
movzx edx, byte [ebp - 0x29]
xor ecx, edx
movzx ecx, byte [ecx + 0x6be990]
movzx edx, byte [ebp - 0x2d]
xor ecx, edx
xor eax, dword [ecx*4 + 0x6c5b78]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x34]
add eax, 0x1010101
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x240]
and eax, 3
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
je 0x55098e
cmp dword [ebp - 0x2b4], 2
je 0x550a5e
cmp dword [ebp - 0x2b4], 3
je 0x5509f6
jmp 0x550b01
movzx eax, byte [ebp - 0x25c]
movzx eax, byte [eax + 0x6be990]
movzx ecx, byte [ebp - 4]
xor eax, ecx
mov byte [ebp - 0x25c], al
movzx eax, byte [ebp - 0x25b]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 3]
xor eax, ecx
mov byte [ebp - 0x25b], al
movzx eax, byte [ebp - 0x25a]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 2]
xor eax, ecx
mov byte [ebp - 0x25a], al
movzx eax, byte [ebp - 0x259]
movzx eax, byte [eax + 0x6be990]
movzx ecx, byte [ebp - 1]
xor eax, ecx
mov byte [ebp - 0x259], al
movzx eax, byte [ebp - 0x25c]
movzx eax, byte [eax + 0x6be990]
movzx ecx, byte [ebp - 8]
xor eax, ecx
mov byte [ebp - 0x25c], al
movzx eax, byte [ebp - 0x25b]
movzx eax, byte [eax + 0x6be990]
movzx ecx, byte [ebp - 7]
xor eax, ecx
mov byte [ebp - 0x25b], al
movzx eax, byte [ebp - 0x25a]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 6]
xor eax, ecx
mov byte [ebp - 0x25a], al
movzx eax, byte [ebp - 0x259]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 5]
xor eax, ecx
mov byte [ebp - 0x259], al
movzx eax, byte [ebp - 0x25c]
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 0xc]
xor eax, ecx
movzx eax, byte [eax + 0x6be890]
movzx ecx, byte [ebp - 0x10]
xor eax, ecx
movzx ecx, byte [ebp - 0x25b]
movzx ecx, byte [ecx + 0x6be990]
movzx edx, byte [ebp - 0xb]
xor ecx, edx
movzx ecx, byte [ecx + 0x6be890]
movzx edx, byte [ebp - 0xf]
xor ecx, edx
mov eax, dword [eax*4 + 0x6c4f78]
xor eax, dword [ecx*4 + 0x6c5378]
movzx ecx, byte [ebp - 0x25a]
movzx ecx, byte [ecx + 0x6be890]
movzx edx, byte [ebp - 0xa]
xor ecx, edx
movzx ecx, byte [ecx + 0x6be990]
movzx edx, byte [ebp - 0xe]
xor ecx, edx
xor eax, dword [ecx*4 + 0x6c5778]
movzx ecx, byte [ebp - 0x259]
movzx ecx, byte [ecx + 0x6be990]
movzx edx, byte [ebp - 9]
xor ecx, edx
movzx ecx, byte [ecx + 0x6be990]
movzx edx, byte [ebp - 0xd]
xor ecx, edx
xor eax, dword [ecx*4 + 0x6c5b78]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
rol eax, 8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x23c]
add eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + ecx*4 + 0x40], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x23c]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
rol eax, 9
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + ecx*4 + 0x44], eax
jmp 0x550778
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0x80
je 0x550b7f
cmp dword [ebp - 0x2b8], 0xc0
je 0x550df4
cmp dword [ebp - 0x2b8], 0x100
je 0x551111
jmp 0x5515d5
push dword [ebp - 0x24c]
push 0x6be890
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x250]
mov dword [ebp - 0x260], eax
and dword [ebp - 0x1c], 0
jmp 0x550bb4
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x550c1b
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c4f78]
mov dword [edx + ecx*4 + 0xe0], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c4f78]
mov dword [edx + ecx*4 + 0xe8], eax
jmp 0x550bac
push dword [ebp - 0x24b]
push 0x6be990
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24f]
mov dword [ebp - 0x264], eax
and dword [ebp - 0x1c], 0
jmp 0x550c50
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x550cb7
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5378]
mov dword [edx + ecx*4 + 0xe4], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5378]
mov dword [edx + ecx*4 + 0xec], eax
jmp 0x550c48
push dword [ebp - 0x24a]
push 0x6be890
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24e]
mov dword [ebp - 0x268], eax
and dword [ebp - 0x1c], 0
jmp 0x550cec
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x550d53
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5778]
mov dword [edx + ecx*4 + 0x8e0], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5778]
mov dword [edx + ecx*4 + 0x8e8], eax
jmp 0x550ce4
push dword [ebp - 0x249]
push 0x6be990
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24d]
mov dword [ebp - 0x26c], eax
and dword [ebp - 0x1c], 0
jmp 0x550d88
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x550def
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5b78]
mov dword [edx + ecx*4 + 0x8e4], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5b78]
mov dword [edx + ecx*4 + 0x8ec], eax
jmp 0x550d80
jmp 0x5515d5
push dword [ebp - 0x248]
push 0x6be990
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x250]
mov dword [ebp - 0x270], eax
movzx eax, byte [ebp - 0x24c]
mov dword [ebp - 0x274], eax
and dword [ebp - 0x1c], 0
jmp 0x550e36
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x550eba
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x274]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c4f78]
mov dword [edx + ecx*4 + 0xe0], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x274]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c4f78]
mov dword [edx + ecx*4 + 0xe8], eax
jmp 0x550e2e
push dword [ebp - 0x247]
push 0x6be990
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24f]
mov dword [ebp - 0x278], eax
movzx eax, byte [ebp - 0x24b]
mov dword [ebp - 0x27c], eax
and dword [ebp - 0x1c], 0
jmp 0x550efc
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x550f80
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x27c]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5378]
mov dword [edx + ecx*4 + 0xe4], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x27c]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5378]
mov dword [edx + ecx*4 + 0xec], eax
jmp 0x550ef4
push dword [ebp - 0x246]
push 0x6be890
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24e]
mov dword [ebp - 0x280], eax
movzx eax, byte [ebp - 0x24a]
mov dword [ebp - 0x284], eax
and dword [ebp - 0x1c], 0
jmp 0x550fc2
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x551046
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x284]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5778]
mov dword [edx + ecx*4 + 0x8e0], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x284]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5778]
mov dword [edx + ecx*4 + 0x8e8], eax
jmp 0x550fba
push dword [ebp - 0x245]
push 0x6be890
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24d]
mov dword [ebp - 0x288], eax
movzx eax, byte [ebp - 0x249]
mov dword [ebp - 0x28c], eax
and dword [ebp - 0x1c], 0
jmp 0x551088
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x55110c
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x28c]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5b78]
mov dword [edx + ecx*4 + 0x8e4], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x28c]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5b78]
mov dword [edx + ecx*4 + 0x8ec], eax
jmp 0x551080
jmp 0x5515d5
push dword [ebp - 0x244]
push 0x6be990
lea eax, [ebp - 0x238]
push eax
call fcn.0055028b
add esp, 0xc
and dword [ebp - 0x1c], 0
jmp 0x551139
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x55117a
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x238]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + 0x6be990]
mov byte [ebp + ecx - 0x138], al
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x237]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + 0x6be990]
mov byte [ebp + ecx - 0x137], al
jmp 0x551131
push dword [ebp - 0x248]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x250]
mov dword [ebp - 0x290], eax
movzx eax, byte [ebp - 0x24c]
mov dword [ebp - 0x294], eax
and dword [ebp - 0x1c], 0
jmp 0x5511be
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x551242
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x294]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c4f78]
mov dword [edx + ecx*4 + 0xe0], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x294]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c4f78]
mov dword [edx + ecx*4 + 0xe8], eax
jmp 0x5511b6
push dword [ebp - 0x243]
push 0x6be890
lea eax, [ebp - 0x238]
push eax
call fcn.0055028b
add esp, 0xc
and dword [ebp - 0x1c], 0
jmp 0x55126a
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x5512ab
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x238]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + 0x6be990]
mov byte [ebp + ecx - 0x138], al
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x237]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + 0x6be990]
mov byte [ebp + ecx - 0x137], al
jmp 0x551262
push dword [ebp - 0x247]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24f]
mov dword [ebp - 0x298], eax
movzx eax, byte [ebp - 0x24b]
mov dword [ebp - 0x29c], eax
and dword [ebp - 0x1c], 0
jmp 0x5512ef
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x551373
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x29c]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5378]
mov dword [edx + ecx*4 + 0xe4], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x29c]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5378]
mov dword [edx + ecx*4 + 0xec], eax
jmp 0x5512e7
push dword [ebp - 0x242]
push 0x6be890
lea eax, [ebp - 0x238]
push eax
call fcn.0055028b
add esp, 0xc
and dword [ebp - 0x1c], 0
jmp 0x55139b
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x5513dc
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x238]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + 0x6be890]
mov byte [ebp + ecx - 0x138], al
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x237]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + 0x6be890]
mov byte [ebp + ecx - 0x137], al
jmp 0x551393
push dword [ebp - 0x246]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24e]
mov dword [ebp - 0x2a0], eax
movzx eax, byte [ebp - 0x24a]
mov dword [ebp - 0x2a4], eax
and dword [ebp - 0x1c], 0
jmp 0x551420
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x5514a4
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x2a4]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5778]
mov dword [edx + ecx*4 + 0x8e0], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be890]
xor eax, dword [ebp - 0x2a4]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5778]
mov dword [edx + ecx*4 + 0x8e8], eax
jmp 0x551418
push dword [ebp - 0x241]
push 0x6be990
lea eax, [ebp - 0x238]
push eax
call fcn.0055028b
add esp, 0xc
and dword [ebp - 0x1c], 0
jmp 0x5514cc
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x55150d
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x238]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + 0x6be890]
mov byte [ebp + ecx - 0x138], al
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x237]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + 0x6be890]
mov byte [ebp + ecx - 0x137], al
jmp 0x5514c4
push dword [ebp - 0x245]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0055028b
add esp, 0xc
movzx eax, byte [ebp - 0x24d]
mov dword [ebp - 0x2a8], eax
movzx eax, byte [ebp - 0x249]
mov dword [ebp - 0x2ac], eax
and dword [ebp - 0x1c], 0
jmp 0x551551
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x5515d5
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x138]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x2ac]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5b78]
mov dword [edx + ecx*4 + 0x8e4], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x137]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x2ac]
movzx eax, byte [eax + 0x6be990]
xor eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [eax*4 + 0x6c5b78]
mov dword [edx + ecx*4 + 0x8ec], eax
jmp 0x551549
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
test eax, eax
jne 0x5515eb
push 0
push dword [ebp + 8]
call fcn.0055020a
pop ecx
pop ecx
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x38]
xor ecx, dword [ebp + 4]
call fcn.0058cc82
leave
ret