Function at 0x40a880
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 [0x419fd0], 0
je 0x40a8ab
call fcn.0040bc80
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 0x40a91e
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 0x40a9b6
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.0040bec5
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 0x40a900
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x238], edx
jmp 0x40a9e3
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 0x40af08
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 0x40aa3a
cmp dword [ebp - 0x2b0], 2
je 0x40ab5a
cmp dword [ebp - 0x2b0], 3
je 0x40aaca
jmp 0x40ac3c
mov ecx, dword [ebp - 0x254]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x419ed0]
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 + 0x419dd0]
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 + 0x419dd0]
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 + 0x419ed0]
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 + 0x419ed0]
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 + 0x419ed0]
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 + 0x419dd0]
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 + 0x419dd0]
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 + 0x419dd0]
mov eax, dword [ebp - 0x28]
and eax, 0xff
xor edx, eax
xor ecx, ecx
mov cl, byte [edx + 0x419dd0]
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 + 0x419ed0]
mov eax, dword [ebp - 0x27]
and eax, 0xff
xor edx, eax
xor eax, eax
mov al, byte [edx + 0x419dd0]
mov edx, dword [ebp - 0x2b]
and edx, 0xff
xor eax, edx
mov ecx, dword [ecx*4 + 0x419fd4]
xor ecx, dword [eax*4 + 0x41a3d4]
mov edx, dword [ebp - 0x252]
and edx, 0xff
xor eax, eax
mov al, byte [edx + 0x419dd0]
mov edx, dword [ebp - 0x26]
and edx, 0xff
xor eax, edx
xor edx, edx
mov dl, byte [eax + 0x419ed0]
mov eax, dword [ebp - 0x2a]
and eax, 0xff
xor edx, eax
xor ecx, dword [edx*4 + 0x41a7d4]
mov edx, dword [ebp - 0x251]
and edx, 0xff
xor eax, eax
mov al, byte [edx + 0x419ed0]
mov edx, dword [ebp - 0x25]
and edx, 0xff
xor eax, edx
xor edx, edx
mov dl, byte [eax + 0x419ed0]
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 0x40ac82
cmp dword [ebp - 0x2b4], 2
je 0x40adba
cmp dword [ebp - 0x2b4], 3
je 0x40ad1e
jmp 0x40aeb8
mov eax, dword [ebp - 0x258]
and eax, 0xff
xor ecx, ecx
mov cl, byte [eax + 0x419ed0]
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 + 0x419dd0]
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 + 0x419dd0]
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 + 0x419ed0]
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 + 0x419ed0]
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 + 0x419ed0]
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 + 0x419dd0]
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 + 0x419dd0]
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 + 0x419dd0]
mov edx, dword [ebp - 0x248]
and edx, 0xff
xor ecx, edx
xor eax, eax
mov al, byte [ecx + 0x419dd0]
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 + 0x419ed0]
mov edx, dword [ebp - 0x247]
and edx, 0xff
xor ecx, edx
xor edx, edx
mov dl, byte [ecx + 0x419dd0]
mov ecx, dword [ebp - 0x24b]
and ecx, 0xff
xor edx, ecx
mov eax, dword [eax*4 + 0x419fd4]
xor eax, dword [edx*4 + 0x41a3d4]
mov ecx, dword [ebp - 0x256]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x419dd0]
mov ecx, dword [ebp - 0x246]
and ecx, 0xff
xor edx, ecx
xor ecx, ecx
mov cl, byte [edx + 0x419ed0]
mov edx, dword [ebp - 0x24a]
and edx, 0xff
xor ecx, edx
xor eax, dword [ecx*4 + 0x41a7d4]
mov ecx, dword [ebp - 0x255]
and ecx, 0xff
xor edx, edx
mov dl, byte [ecx + 0x419ed0]
mov ecx, dword [ebp - 0x245]
and ecx, 0xff
xor edx, ecx
xor ecx, ecx
mov cl, byte [edx + 0x419ed0]
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 0x40a9c8
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x2b8], ecx
cmp dword [ebp - 0x2b8], 0x80
je 0x40af45
cmp dword [ebp - 0x2b8], 0xc0
je 0x40b24a
cmp dword [ebp - 0x2b8], 0x100
je 0x40b60b
jmp 0x40bbd1
mov dl, byte [ebp - 0xc]
push edx
mov edx, 0x419dd0
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
mov eax, dword [ebp - 0x10]
and eax, 0xff
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x238], 0
jmp 0x40af82
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40b005
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x419dd0]
xor ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419fd4]
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 + 0x419dd0]
xor ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419fd4]
mov dword [eax + edx*4 + 0x129], ecx
jmp 0x40af73
mov dl, byte [ebp - 0xb]
push edx
mov edx, 0x419ed0
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
mov eax, dword [ebp - 0xf]
and eax, 0xff
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x238], 0
jmp 0x40b042
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40b0c5
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x419dd0]
xor ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x41a3d4]
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 + 0x419dd0]
xor ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x41a3d4]
mov dword [eax + edx*4 + 0x12d], ecx
jmp 0x40b033
mov dl, byte [ebp - 0xa]
push edx
mov edx, 0x419dd0
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
mov eax, dword [ebp - 0xe]
and eax, 0xff
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x238], 0
jmp 0x40b102
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40b185
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x419ed0]
xor ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x41a7d4]
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 + 0x419ed0]
xor ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x41a7d4]
mov dword [eax + edx*4 + 0x929], ecx
jmp 0x40b0f3
mov dl, byte [ebp - 9]
push edx
mov edx, 0x419ed0
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
mov eax, dword [ebp - 0xd]
and eax, 0xff
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x238], 0
jmp 0x40b1c2
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40b245
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x419ed0]
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 + 0x419ed0]
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 0x40b1b3
jmp 0x40bbd1
mov dl, byte [ebp - 8]
push edx
mov edx, 0x419ed0
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
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 0x40b296
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40b339
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x419dd0]
xor edx, dword [ebp - 0x270]
xor eax, eax
mov al, byte [edx + 0x419dd0]
xor eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x419fd4]
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 + 0x419dd0]
xor eax, dword [ebp - 0x270]
xor ecx, ecx
mov cl, byte [eax + 0x419dd0]
xor ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419fd4]
mov dword [eax + edx*4 + 0x129], ecx
jmp 0x40b287
mov dl, byte [ebp - 7]
push edx
mov edx, 0x419ed0
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
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 0x40b385
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40b428
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x419ed0]
xor edx, dword [ebp - 0x278]
xor eax, eax
mov al, byte [edx + 0x419dd0]
xor eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x41a3d4]
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 + 0x419ed0]
xor eax, dword [ebp - 0x278]
xor ecx, ecx
mov cl, byte [eax + 0x419dd0]
xor ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x41a3d4]
mov dword [eax + edx*4 + 0x12d], ecx
jmp 0x40b376
mov dl, byte [ebp - 6]
push edx
mov edx, 0x419dd0
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
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 0x40b474
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40b517
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x419dd0]
xor edx, dword [ebp - 0x280]
xor eax, eax
mov al, byte [edx + 0x419ed0]
xor eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x41a7d4]
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 + 0x419dd0]
xor eax, dword [ebp - 0x280]
xor ecx, ecx
mov cl, byte [eax + 0x419ed0]
xor ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x41a7d4]
mov dword [eax + edx*4 + 0x929], ecx
jmp 0x40b465
mov dl, byte [ebp - 5]
push edx
mov edx, 0x419dd0
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
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 0x40b563
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40b606
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x419ed0]
xor edx, dword [ebp - 0x288]
xor eax, eax
mov al, byte [edx + 0x419ed0]
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 + 0x419ed0]
xor eax, dword [ebp - 0x288]
xor ecx, ecx
mov cl, byte [eax + 0x419ed0]
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 0x40b554
jmp 0x40bbd1
mov dl, byte [ebp - 4]
push edx
mov edx, 0x419ed0
lea ecx, [ebp - 0x22c]
call fcn.0040bfcc
mov dword [ebp - 0x238], 0
jmp 0x40b63a
mov eax, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x100
jge 0x40b68c
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x22c]
mov eax, dword [ebp - 0x238]
mov cl, byte [edx + 0x419ed0]
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 + 0x419ed0]
mov byte [ebp + ecx - 0x12b], dl
jmp 0x40b62b
mov al, byte [ebp - 8]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
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 0x40b6da
mov eax, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x100
jge 0x40b77d
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12c]
xor eax, eax
mov al, byte [edx + 0x419dd0]
xor eax, dword [ebp - 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x419dd0]
xor ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x238]
shl edx, 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ecx*4 + 0x419fd4]
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 + 0x419dd0]
xor ecx, dword [ebp - 0x290]
xor edx, edx
mov dl, byte [ecx + 0x419dd0]
xor edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x238]
shl eax, 1
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [edx*4 + 0x419fd4]
mov dword [ecx + eax*4 + 0x129], edx
jmp 0x40b6cb
mov al, byte [ebp - 3]
push eax
mov edx, 0x419dd0
lea ecx, [ebp - 0x22c]
call fcn.0040bfcc
mov dword [ebp - 0x238], 0
jmp 0x40b7ac
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40b7fe
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x22c]
mov ecx, dword [ebp - 0x238]
mov dl, byte [eax + 0x419ed0]
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 + 0x419ed0]
mov byte [ebp + edx - 0x12b], al
jmp 0x40b79d
mov cl, byte [ebp - 7]
push ecx
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
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 0x40b84b
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x100
jge 0x40b8ee
mov edx, dword [ebp - 0x238]
xor eax, eax
mov al, byte [ebp + edx - 0x12c]
xor ecx, ecx
mov cl, byte [eax + 0x419ed0]
xor ecx, dword [ebp - 0x298]
xor edx, edx
mov dl, byte [ecx + 0x419dd0]
xor edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x238]
shl eax, 1
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [edx*4 + 0x41a3d4]
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 + 0x419ed0]
xor edx, dword [ebp - 0x298]
xor eax, eax
mov al, byte [edx + 0x419dd0]
xor eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x41a3d4]
mov dword [edx + ecx*4 + 0x12d], eax
jmp 0x40b83c
mov cl, byte [ebp - 2]
push ecx
mov edx, 0x419dd0
lea ecx, [ebp - 0x22c]
call fcn.0040bfcc
mov dword [ebp - 0x238], 0
jmp 0x40b91d
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40b96f
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x22c]
mov edx, dword [ebp - 0x238]
mov al, byte [ecx + 0x419dd0]
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 + 0x419dd0]
mov byte [ebp + eax - 0x12b], cl
jmp 0x40b90e
mov dl, byte [ebp - 6]
push edx
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
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 0x40b9bc
mov edx, dword [ebp - 0x238]
add edx, 2
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x100
jge 0x40ba5f
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x12c]
xor edx, edx
mov dl, byte [ecx + 0x419dd0]
xor edx, dword [ebp - 0x2a0]
xor eax, eax
mov al, byte [edx + 0x419ed0]
xor eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x2ac]
mov eax, dword [eax*4 + 0x41a7d4]
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 + 0x419dd0]
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 + 0x41a7d4]
mov dword [eax + edx*4 + 0x929], ecx
jmp 0x40b9ad
mov dl, byte [ebp - 1]
push edx
mov edx, 0x419ed0
lea ecx, [ebp - 0x22c]
call fcn.0040bfcc
mov dword [ebp - 0x238], 0
jmp 0x40ba8e
mov eax, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x100
jge 0x40bae0
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x22c]
mov eax, dword [ebp - 0x238]
mov cl, byte [edx + 0x419dd0]
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 + 0x419dd0]
mov byte [ebp + ecx - 0x12b], dl
jmp 0x40ba7f
mov al, byte [ebp - 5]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.0040bfcc
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 0x40bb2e
mov eax, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0x100
jge 0x40bbd1
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov dl, byte [ebp + ecx - 0x12c]
xor eax, eax
mov al, byte [edx + 0x419ed0]
xor eax, dword [ebp - 0x2a8]
xor ecx, ecx
mov cl, byte [eax + 0x419ed0]
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 + 0x419ed0]
xor ecx, dword [ebp - 0x2a8]
xor edx, edx
mov dl, byte [ecx + 0x419ed0]
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 0x40bb1f
mov eax, dword [ebp - 0x2ac]
xor ecx, ecx
mov cl, byte [eax]
test ecx, ecx
jne 0x40bbec
xor dl, dl
mov ecx, dword [ebp - 0x2ac]
call fcn.0040bbf5
mov eax, 1
mov esp, ebp
pop ebp
ret