Function at 0x40a2f0
Capabilities:
Encrypt data using twofish

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b8
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
cmp dword [0x418f90], 0
je 0x40a31b
call fcn.0040b6f0
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [eax + 0x4d]
lea edx, [ecx + ecx + 8]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [eax + 1]
mov dword [ebp - 0x230], ecx
mov eax, dword [ebp - 0x230]
add eax, 0x3f
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x238], 0
mov edx, dword [ebp - 0x234]
sub edx, 1
mov dword [ebp - 0x23c], edx
jmp 0x40a38e
mov eax, dword [ebp - 0x238]
add eax, 1
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x23c]
sub ecx, 1
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x238]
cmp edx, dword [ebp - 0x234]
jge 0x40a426
mov eax, dword [ebp - 0x238]
shl eax, 1
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x2ac]
mov eax, dword [edx + eax*4 + 0x51]
mov dword [ebp + ecx*4 - 0x2c], eax
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [eax + ecx*4 + 0x55]
mov dword [ebp + edx*4 - 0x24c], ecx
mov edx, dword [ebp - 0x238]
mov edx, dword [ebp + edx*4 - 0x24c]
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp + eax*4 - 0x2c]
call fcn.0040b935
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x2ac]
mov dword [edx + ecx*4 + 0x71], eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x2ac]
mov ecx, dword [edx + ecx*4 + 0x71]
mov dword [ebp + eax*4 - 0x10], ecx
jmp 0x40a370
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x238], edx
jmp 0x40a453
mov eax, dword [ebp - 0x238]
add eax, 1
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x2020202
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x250]
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x238], eax
jge 0x40a978
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x234]
and eax, 3
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
je 0x40a4aa
cmp dword [ebp - 0x2b0], 2
je 0x40a5ca
cmp dword [ebp - 0x2b0], 3
je 0x40a53a
jmp 0x40a6ac
mov ecx, dword [ebp - 0x254]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418e90]
mov eax, dword [ebp - 0x20]
and eax, 0xff
xor edx, eax
mov byte [ebp - 0x254], dl
mov ecx, dword [ebp - 0x253]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418d90]
mov eax, dword [ebp - 0x1f]
and eax, 0xff
xor edx, eax
mov byte [ebp - 0x253], dl
mov ecx, dword [ebp - 0x252]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418d90]
mov eax, dword [ebp - 0x1e]
and eax, 0xff
xor edx, eax
mov byte [ebp - 0x252], dl
mov ecx, dword [ebp - 0x251]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418e90]
mov eax, dword [ebp - 0x1d]
and eax, 0xff
xor edx, eax
mov byte [ebp - 0x251], dl
mov ecx, dword [ebp - 0x254]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418e90]
mov eax, dword [ebp - 0x24]
and eax, 0xff
xor edx, eax
mov byte [ebp - 0x254], dl
mov ecx, dword [ebp - 0x253]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418e90]
mov eax, dword [ebp - 0x23]
and eax, 0xff
xor edx, eax
mov byte [ebp - 0x253], dl
mov ecx, dword [ebp - 0x252]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418d90]
mov eax, dword [ebp - 0x22]
and eax, 0xff
xor edx, eax
mov byte [ebp - 0x252], dl
mov ecx, dword [ebp - 0x251]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418d90]
mov eax, dword [ebp - 0x21]
and eax, 0xff
xor edx, eax
mov byte [ebp - 0x251], dl
mov ecx, dword [ebp - 0x254]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418d90]
mov eax, dword [ebp - 0x28]
and eax, 0xff
xor edx, eax
xor ecx, ecx
mov cl, byte [edx + 0x418d90]
mov edx, dword [ebp - 0x2c]
and edx, 0xff
xor ecx, edx
mov eax, dword [ebp - 0x253]
and eax, 0xff
xor edx, edx
mov dl, byte [eax + 0x418e90]
mov eax, dword [ebp - 0x27]
and eax, 0xff
xor edx, eax
xor eax, eax
mov al, byte [edx + 0x418d90]
mov edx, dword [ebp - 0x2b]
and edx, 0xff
xor eax, edx
mov ecx, dword [ecx*4 + 0x418f94]
xor ecx, dword [eax*4 + 0x419394]
mov edx, dword [ebp - 0x252]
and edx, 0xff
xor eax, eax
mov al, byte [edx + 0x418d90]
mov edx, dword [ebp - 0x26]
and edx, 0xff
xor eax, edx
xor edx, edx
mov dl, byte [eax + 0x418e90]
mov eax, dword [ebp - 0x2a]
and eax, 0xff
xor edx, eax
xor ecx, dword [edx*4 + 0x419794]
mov edx, dword [ebp - 0x251]
and edx, 0xff
xor eax, eax
mov al, byte [edx + 0x418e90]
mov edx, dword [ebp - 0x25]
and edx, 0xff
xor eax, edx
xor edx, edx
mov dl, byte [eax + 0x418e90]
mov eax, dword [ebp - 0x29]
and eax, 0xff
xor edx, eax
xor ecx, dword [edx*4 + str.9g]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x1010101
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x234]
and edx, 3
mov dword [ebp - 0x2b4], edx
cmp dword [ebp - 0x2b4], 0
je 0x40a6f2
cmp dword [ebp - 0x2b4], 2
je 0x40a82a
cmp dword [ebp - 0x2b4], 3
je 0x40a78e
jmp 0x40a928
mov eax, dword [ebp - 0x258]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
mov edx, dword [ebp - 0x240]
and edx, 0xff
xor ecx, edx
mov byte [ebp - 0x258], cl
mov eax, dword [ebp - 0x257]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
mov edx, dword [ebp - 0x23f]
and edx, 0xff
xor ecx, edx
mov byte [ebp - 0x257], cl
mov eax, dword [ebp - 0x256]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
mov edx, dword [ebp - 0x23e]
and edx, 0xff
xor ecx, edx
mov byte [ebp - 0x256], cl
mov eax, dword [ebp - 0x255]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
mov edx, dword [ebp - 0x23d]
and edx, 0xff
xor ecx, edx
mov byte [ebp - 0x255], cl
mov eax, dword [ebp - 0x258]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
mov edx, dword [ebp - 0x244]
and edx, 0xff
xor ecx, edx
mov byte [ebp - 0x258], cl
mov eax, dword [ebp - 0x257]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
mov edx, dword [ebp - 0x243]
and edx, 0xff
xor ecx, edx
mov byte [ebp - 0x257], cl
mov eax, dword [ebp - 0x256]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
mov edx, dword [ebp - 0x242]
and edx, 0xff
xor ecx, edx
mov byte [ebp - 0x256], cl
mov eax, dword [ebp - 0x255]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
mov edx, dword [ebp - 0x241]
and edx, 0xff
xor ecx, edx
mov byte [ebp - 0x255], cl
mov eax, dword [ebp - 0x258]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
mov edx, dword [ebp - 0x248]
and edx, 0xff
xor ecx, edx
xor eax, eax
mov al, byte [ecx + 0x418d90]
mov ecx, dword [ebp - 0x24c]
and ecx, 0xff
xor eax, ecx
mov edx, dword [ebp - 0x257]
and edx, 0xff
xor ecx, ecx
mov cl, byte [edx + 0x418e90]
mov edx, dword [ebp - 0x247]
and edx, 0xff
xor ecx, edx
xor edx, edx
mov dl, byte [ecx + 0x418d90]
mov ecx, dword [ebp - 0x24b]
and ecx, 0xff
xor edx, ecx
mov eax, dword [eax*4 + 0x418f94]
xor eax, dword [edx*4 + 0x419394]
mov ecx, dword [ebp - 0x256]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418d90]
mov ecx, dword [ebp - 0x246]
and ecx, 0xff
xor edx, ecx
xor ecx, ecx
mov cl, byte [edx + 0x418e90]
mov edx, dword [ebp - 0x24a]
and edx, 0xff
xor ecx, edx
xor eax, dword [ecx*4 + 0x419794]
mov ecx, dword [ebp - 0x255]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x418e90]
mov ecx, dword [ebp - 0x245]
and ecx, 0xff
xor edx, ecx
xor ecx, ecx
mov cl, byte [edx + 0x418e90]
mov edx, dword [ebp - 0x249]
and edx, 0xff
xor ecx, edx
xor eax, dword [ecx*4 + str.9g]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
rol eax, 8
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov dword [eax + edx*4 + 0x81], ecx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
lea eax, [edx + ecx*2]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
rol ecx, 9
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov dword [eax + edx*4 + 0x85], ecx
jmp 0x40a438
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x2b8], ecx
cmp dword [ebp - 0x2b8], 0x80
je 0x40a9b5
cmp dword [ebp - 0x2b8], 0xc0
je 0x40acba
cmp dword [ebp - 0x2b8], 0x100
je 0x40b07b
jmp 0x40b641
mov dl, byte [ebp - 0xc]
push edx
mov edx, 0x418d90
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0x10]
and eax, 0xff
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x238], 0
jmp 0x40a9f2
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40aa75
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
xor ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x418f94]
mov dword [eax + edx*4 + 0x121], ecx
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12b]
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
xor ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x418f94]
mov dword [eax + edx*4 + 0x129], ecx
jmp 0x40a9e3
mov dl, byte [ebp - 0xb]
push edx
mov edx, 0x418e90
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0xf]
and eax, 0xff
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x238], 0
jmp 0x40aab2
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40ab35
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
xor ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419394]
mov dword [eax + edx*4 + 0x125], ecx
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12b]
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
xor ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419394]
mov dword [eax + edx*4 + 0x12d], ecx
jmp 0x40aaa3
mov dl, byte [ebp - 0xa]
push edx
mov edx, 0x418d90
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0xe]
and eax, 0xff
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x238], 0
jmp 0x40ab72
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40abf5
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419794]
mov dword [eax + edx*4 + 0x921], ecx
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12b]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419794]
mov dword [eax + edx*4 + 0x929], ecx
jmp 0x40ab63
mov dl, byte [ebp - 9]
push edx
mov edx, 0x418e90
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0xd]
and eax, 0xff
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x238], 0
jmp 0x40ac32
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40acb5
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + str.9g]
mov dword [eax + edx*4 + 0x925], ecx
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12b]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + str.9g]
mov dword [eax + edx*4 + 0x92d], ecx
jmp 0x40ac23
jmp 0x40b641
mov dl, byte [ebp - 8]
push edx
mov edx, 0x418e90
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0x10]
and eax, 0xff
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x238], 0
jmp 0x40ad06
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40ada9
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x418d90]
xor edx, dword [ebp - 0x270]
xor eax, eax
mov al, byte [edx + 0x418d90]
xor eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x418f94]
mov dword [edx + ecx*4 + 0x121], eax
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12b]
xor eax, eax
mov al, byte [edx + 0x418d90]
xor eax, dword [ebp - 0x270]
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
xor ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x418f94]
mov dword [eax + edx*4 + 0x129], ecx
jmp 0x40acf7
mov dl, byte [ebp - 7]
push edx
mov edx, 0x418e90
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0xf]
and eax, 0xff
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0xb]
and ecx, 0xff
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x238], 0
jmp 0x40adf5
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40ae98
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x418e90]
xor edx, dword [ebp - 0x278]
xor eax, eax
mov al, byte [edx + 0x418d90]
xor eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x419394]
mov dword [edx + ecx*4 + 0x125], eax
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12b]
xor eax, eax
mov al, byte [edx + 0x418e90]
xor eax, dword [ebp - 0x278]
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
xor ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419394]
mov dword [eax + edx*4 + 0x12d], ecx
jmp 0x40ade6
mov dl, byte [ebp - 6]
push edx
mov edx, 0x418d90
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0xe]
and eax, 0xff
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0xa]
and ecx, 0xff
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x238], 0
jmp 0x40aee4
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40af87
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x418d90]
xor edx, dword [ebp - 0x280]
xor eax, eax
mov al, byte [edx + 0x418e90]
xor eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x419794]
mov dword [edx + ecx*4 + 0x921], eax
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12b]
xor eax, eax
mov al, byte [edx + 0x418d90]
xor eax, dword [ebp - 0x280]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419794]
mov dword [eax + edx*4 + 0x929], ecx
jmp 0x40aed5
mov dl, byte [ebp - 5]
push edx
mov edx, 0x418d90
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0xd]
and eax, 0xff
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 9]
and ecx, 0xff
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x238], 0
jmp 0x40afd3
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40b076
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x418e90]
xor edx, dword [ebp - 0x288]
xor eax, eax
mov al, byte [edx + 0x418e90]
xor eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + str.9g]
mov dword [edx + ecx*4 + 0x925], eax
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12b]
xor eax, eax
mov al, byte [edx + 0x418e90]
xor eax, dword [ebp - 0x288]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + str.9g]
mov dword [eax + edx*4 + 0x92d], ecx
jmp 0x40afc4
jmp 0x40b641
mov dl, byte [ebp - 4]
push edx
mov edx, 0x418e90
lea ecx, [ebp - 0x22c]
call fcn.0040ba3c
mov dword [ebp - 0x238], 0
jmp 0x40b0aa
mov eax, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x100
jge 0x40b0fc
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x22c]
mov eax, dword [ebp - 0x238]
mov cl, byte [edx + 0x418e90]
mov byte [ebp + eax - 0x12c], cl
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x22b]
mov ecx, dword [ebp - 0x238]
mov dl, byte [eax + 0x418e90]
mov byte [ebp + ecx - 0x12b], dl
jmp 0x40b09b
mov al, byte [ebp - 8]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov ecx, dword [ebp - 0x10]
and ecx, 0xff
mov dword [ebp - 0x28c], ecx
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x238], 0
jmp 0x40b14a
mov eax, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x100
jge 0x40b1ed
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12c]
xor eax, eax
mov al, byte [edx + 0x418d90]
xor eax, dword [ebp - 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
xor ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x418f94]
mov dword [eax + edx*4 + 0x121], ecx
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12b]
xor ecx, ecx
mov cl, byte [eax + 0x418d90]
xor ecx, dword [ebp - 0x290]
xor edx, edx
mov dl, byte [ecx + 0x418d90]
xor edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x238]
shl eax, 1
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [edx*4 + 0x418f94]
mov dword [ecx + eax*4 + 0x129], edx
jmp 0x40b13b
mov al, byte [ebp - 3]
push eax
mov edx, 0x418d90
lea ecx, [ebp - 0x22c]
call fcn.0040ba3c
mov dword [ebp - 0x238], 0
jmp 0x40b21c
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40b26e
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x22c]
mov ecx, dword [ebp - 0x238]
mov dl, byte [eax + 0x418e90]
mov byte [ebp + ecx - 0x12c], dl
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x22b]
mov edx, dword [ebp - 0x238]
mov al, byte [ecx + 0x418e90]
mov byte [ebp + edx - 0x12b], al
jmp 0x40b20d
mov cl, byte [ebp - 7]
push ecx
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov edx, dword [ebp - 0xf]
and edx, 0xff
mov dword [ebp - 0x294], edx
mov eax, dword [ebp - 0xb]
and eax, 0xff
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x238], 0
jmp 0x40b2bb
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40b35e
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x298]
xor edx, edx
mov dl, byte [ecx + 0x418d90]
xor edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x238]
shl eax, 1
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [edx*4 + 0x419394]
mov dword [ecx + eax*4 + 0x125], edx
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12b]
xor edx, edx
mov dl, byte [ecx + 0x418e90]
xor edx, dword [ebp - 0x298]
xor eax, eax
mov al, byte [edx + 0x418d90]
xor eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x419394]
mov dword [edx + ecx*4 + 0x12d], eax
jmp 0x40b2ac
mov cl, byte [ebp - 2]
push ecx
mov edx, 0x418d90
lea ecx, [ebp - 0x22c]
call fcn.0040ba3c
mov dword [ebp - 0x238], 0
jmp 0x40b38d
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40b3df
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x22c]
mov edx, dword [ebp - 0x238]
mov al, byte [ecx + 0x418d90]
mov byte [ebp + edx - 0x12c], al
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x22b]
mov eax, dword [ebp - 0x238]
mov cl, byte [edx + 0x418d90]
mov byte [ebp + eax - 0x12b], cl
jmp 0x40b37e
mov dl, byte [ebp - 6]
push edx
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov eax, dword [ebp - 0xe]
and eax, 0xff
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0xa]
and ecx, 0xff
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x238], 0
jmp 0x40b42c
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40b4cf
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x418d90]
xor edx, dword [ebp - 0x2a0]
xor eax, eax
mov al, byte [edx + 0x418e90]
xor eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x419794]
mov dword [edx + ecx*4 + 0x921], eax
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12b]
xor eax, eax
mov al, byte [edx + 0x418d90]
xor eax, dword [ebp - 0x2a0]
xor ecx, ecx
mov cl, byte [eax + 0xa06fe4]
xor ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419794]
mov dword [eax + edx*4 + 0x929], ecx
jmp 0x40b41d
mov dl, byte [ebp - 1]
push edx
mov edx, 0x418e90
lea ecx, [ebp - 0x22c]
call fcn.0040ba3c
mov dword [ebp - 0x238], 0
jmp 0x40b4fe
mov eax, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x100
jge 0x40b550
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x22c]
mov eax, dword [ebp - 0x238]
mov cl, byte [edx + 0x418d90]
mov byte [ebp + eax - 0x12c], cl
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x22b]
mov ecx, dword [ebp - 0x238]
mov dl, byte [eax + 0x418d90]
mov byte [ebp + ecx - 0x12b], dl
jmp 0x40b4ef
mov al, byte [ebp - 5]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.0040ba3c
mov ecx, dword [ebp - 0xd]
and ecx, 0xff
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 9]
and edx, 0xff
mov dword [ebp - 0x2a8], edx
mov dword [ebp - 0x238], 0
jmp 0x40b59e
mov eax, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x100
jge 0x40b641
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12c]
xor eax, eax
mov al, byte [edx + 0x418e90]
xor eax, dword [ebp - 0x2a8]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + str.9g]
mov dword [eax + edx*4 + 0x925], ecx
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12b]
xor ecx, ecx
mov cl, byte [eax + 0x418e90]
xor ecx, dword [ebp - 0x2a8]
xor edx, edx
mov dl, byte [ecx + 0x418e90]
xor edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x238]
shl eax, 1
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [edx*4 + str.9g]
mov dword [ecx + eax*4 + 0x92d], edx
jmp 0x40b58f
mov eax, dword [ebp - 0x2ac]
xor ecx, ecx
mov cl, byte [eax]
test ecx, ecx
jne 0x40b65c
xor dl, dl
mov ecx, dword [ebp - 0x2ac]
call fcn.0040b665
mov eax, 1
mov esp, ebp
pop ebp
ret