Function at 0x401260
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x31bc
call fcn.00409d80
mov eax, dword [0x538014]
xor eax, ebp
mov dword [ebp - 4], eax
movq xmm0, qword [str.thooolti]
mov al, byte [0x534ab0]
movq qword [ebp - 0x10], xmm0
movaps xmm0, xmmword [0x534c80]
mov dword [ebp - 0x3178], edx
mov dword [ebp - 0x317c], ecx
mov byte [ebp - 8], al
movups xmmword [ebp - 0x150], xmm0
movaps xmm0, xmmword [0x534ca0]
movups xmmword [ebp - 0x140], xmm0
movaps xmm0, xmmword [0x534c90]
movups xmmword [ebp - 0x130], xmm0
movaps xmm0, xmmword [0x534c70]
movups xmmword [ebp - 0x120], xmm0
test ecx, ecx
je 0x401ed8
test edx, edx
je 0x401ed8
push ebx
push esi
push edi
xor ebx, ebx
lea edi, [ebp - 0x7ac]
nop dword [eax + eax]
movsx eax, byte [ebx + edx]
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
movups xmmword [ebp - 0x20], xmm0
test eax, eax
je 0x401327
lea esi, [ebp - 0x30]
mov ecx, eax
and ecx, 0x80000001
jns 0x401315
dec ecx
or ecx, 0xfffffffe
inc ecx
cdq
mov dword [esi], ecx
sub eax, edx
add esi, 4
sar eax, 1
jne 0x401306
mov edx, dword [ebp - 0x3178]
mov eax, dword [ebp - 0x14]
inc ebx
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x18]
mov dword [edi], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x18], eax
add edi, 0x20
cmp ebx, 8
jl 0x4012f0
xor ecx, ecx
mov eax, dword [ecx + 0x431578]
mov eax, dword [ebp + eax*4 - 0x7b4]
mov dword [ebp + ecx - 0x330], eax
mov eax, dword [ecx + 0x43157c]
mov eax, dword [ebp + eax*4 - 0x7b4]
mov dword [ebp + ecx - 0x32c], eax
mov eax, dword [ecx + 0x431580]
mov eax, dword [ebp + eax*4 - 0x7b4]
mov dword [ebp + ecx - 0x328], eax
mov eax, dword [ecx + 0x431584]
mov eax, dword [ebp + eax*4 - 0x7b4]
mov dword [ebp + ecx - 0x324], eax
add ecx, 0x10
cmp ecx, 0xe0
jl 0x401361
mov ecx, 0x1c
lea esi, [ebp - 0x2c0]
lea edi, [ebp - 0x1c0]
xor edx, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x1c
mov dword [ebp - 0x3174], edx
lea esi, [ebp - 0x330]
lea edi, [ebp - 0x240]
rep movsd dword es:[edi], dword [esi]
lea ebx, [ebp - 0x316c]
cmp dword [ebp + edx*4 - 0x150], 1
lea edi, [ebp - 0x240]
mov eax, dword [ebp - 0x240]
jne 0x40143a
mov ecx, 0x1b
lea esi, [ebp - 0x23c]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1d4], eax
lea esi, [ebp - 0x1bc]
mov eax, dword [ebp - 0x1c0]
lea edi, [ebp - 0x1c0]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x154], eax
jmp 0x40148a
mov edx, dword [ebp - 0x23c]
lea esi, [ebp - 0x238]
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1d4], edx
lea esi, [ebp - 0x1b8]
mov edx, dword [ebp - 0x1bc]
lea edi, [ebp - 0x1c0]
mov dword [ebp - 0x1d8], eax
mov ecx, 0x1a
mov eax, dword [ebp - 0x1c0]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x154], edx
mov edx, dword [ebp - 0x3174]
mov dword [ebp - 0x158], eax
xor ecx, ecx
nop dword [eax]
mov eax, dword [ebp + ecx - 0x240]
mov dword [ebp + ecx - 0x330], eax
mov eax, dword [ebp + ecx - 0x1c0]
mov dword [ebp + ecx - 0x2c0], eax
add ecx, 4
cmp ecx, 0x70
jl 0x401490
mov ecx, 0x430ffc
nop dword [eax]
mov eax, dword [ecx - 4]
mov eax, dword [ebp + eax*4 - 0x334]
mov dword [ebx - 4], eax
mov eax, dword [ecx]
mov eax, dword [ebp + eax*4 - 0x334]
mov dword [ebx], eax
mov eax, dword [ecx + 4]
mov eax, dword [ebp + eax*4 - 0x334]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 8]
mov eax, dword [ebp + eax*4 - 0x334]
mov dword [ebx + 8], eax
mov eax, dword [ecx + 0xc]
mov eax, dword [ebp + eax*4 - 0x334]
mov dword [ebx + 0xc], eax
mov eax, dword [ecx + 0x10]
add ecx, 0x18
mov eax, dword [ebp + eax*4 - 0x334]
mov dword [ebx + 0x10], eax
add ebx, 0x18
cmp ecx, 0x4310bc
jl 0x4014c0
inc edx
mov dword [ebp - 0x3174], edx
cmp edx, 0x10
jl 0x4013f0
xor ebx, ebx
lea edi, [ebp - 0x186c]
movsx eax, byte [ebp + ebx - 0x10]
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
movups xmmword [ebp - 0x20], xmm0
test eax, eax
je 0x40156b
lea esi, [ebp - 0x30]
nop dword [eax]
mov ecx, eax
and ecx, 0x80000001
jns 0x40155f
dec ecx
or ecx, 0xfffffffe
inc ecx
cdq
mov dword [esi], ecx
sub eax, edx
add esi, 4
sar eax, 1
jne 0x401550
mov eax, dword [ebp - 0x14]
inc ebx
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x18]
mov dword [edi], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x18], eax
add edi, 0x20
cmp ebx, 8
jl 0x401532
mov ecx, dword [ebp - 0x317c]
xor eax, eax
cmp byte [ecx], al
je 0x4015b7
nop
inc eax
cmp byte [eax + ecx], 0
jne 0x4015b0
mov esi, eax
and esi, 0x80000007
jns 0x4015c6
dec esi
or esi, 0xfffffff8
inc esi
dec eax
mov dword [ebp - 0x3184], esi
cdq
xor ebx, ebx
and edx, 7
mov dword [ebp - 0x3174], ebx
add eax, edx
sar eax, 3
mov dword [ebp - 0x31bc], eax
lea edi, [eax + 1]
mov dword [ebp - 0x3178], edi
test edi, edi
jle 0x401e51
cmp ebx, eax
jne 0x40162f
test esi, esi
je 0x40162f
jle 0x401610
lea eax, [ecx + ebx*8]
push esi
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040a520
add esp, 0xc
cmp esi, 8
jge 0x40166e
mov eax, 8
sub eax, esi
push eax
lea eax, [ebp - 0x10]
add eax, esi
push 0x20
push eax
call fcn.0040aaa0
add esp, 0xc
jmp 0x40166e
movzx eax, byte [ecx + ebx*8]
mov byte [ebp - 0x10], al
movzx eax, byte [ecx + ebx*8 + 1]
mov byte [ebp - 0xf], al
movzx eax, byte [ecx + ebx*8 + 2]
mov byte [ebp - 0xe], al
movzx eax, byte [ecx + ebx*8 + 3]
mov byte [ebp - 0xd], al
movzx eax, byte [ecx + ebx*8 + 4]
mov byte [ebp - 0xc], al
movzx eax, byte [ecx + ebx*8 + 5]
mov byte [ebp - 0xb], al
movzx eax, byte [ecx + ebx*8 + 6]
mov byte [ebp - 0xa], al
movzx eax, byte [ecx + ebx*8 + 7]
mov byte [ebp - 9], al
xor ebx, ebx
lea edi, [ebp - 0x4ac]
nop word [eax + eax]
movsx eax, byte [ebp + ebx - 0x10]
xorps xmm0, xmm0
movups xmmword [ebp - 0x50], xmm0
movups xmmword [ebp - 0x40], xmm0
test eax, eax
je 0x4016bb
lea esi, [ebp - 0x50]
nop word [eax + eax]
mov ecx, eax
and ecx, 0x80000001
jns 0x4016af
dec ecx
or ecx, 0xfffffffe
inc ecx
cdq
mov dword [esi], ecx
sub eax, edx
add esi, 4
sar eax, 1
jne 0x4016a0
mov eax, dword [ebp - 0x34]
inc ebx
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x38]
mov dword [edi], eax
mov eax, dword [ebp - 0x3c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x44]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x48]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x4c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x50]
mov dword [edi + 0x18], eax
add edi, 0x20
cmp ebx, 8
jl 0x401680
mov eax, dword [ebp - 0x3174]
xor ecx, ecx
shl eax, 8
mov dword [ebp - 0x3188], eax
lea eax, [ebp + eax - 0x1860]
nop dword [eax + eax]
movups xmm0, xmmword [ebp + ecx*4 - 0x4b0]
lea eax, [eax + 0x40]
movups xmm1, xmmword [eax - 0x50]
pxor xmm1, xmm0
movups xmmword [ebp + ecx*4 - 0x4b0], xmm1
movups xmm0, xmmword [ebp + ecx*4 - 0x4a0]
movups xmm1, xmmword [eax - 0x40]
pxor xmm1, xmm0
movups xmmword [ebp + ecx*4 - 0x4a0], xmm1
movups xmm0, xmmword [ebp + ecx*4 - 0x490]
movups xmm1, xmmword [eax - 0x30]
pxor xmm1, xmm0
movups xmmword [ebp + ecx*4 - 0x490], xmm1
movups xmm0, xmmword [ebp + ecx*4 - 0x480]
movups xmm1, xmmword [eax - 0x20]
pxor xmm1, xmm0
movups xmmword [ebp + ecx*4 - 0x480], xmm1
add ecx, 0x10
cmp ecx, 0x40
jl 0x401710
xor ecx, ecx
nop dword [eax]
mov eax, dword [ecx + 0x430c78]
mov eax, dword [ebp + eax*4 - 0x4b4]
mov dword [ebp + ecx - 0x6b0], eax
mov eax, dword [ecx + 0x430c7c]
mov eax, dword [ebp + eax*4 - 0x4b4]
mov dword [ebp + ecx - 0x6ac], eax
mov eax, dword [ecx + 0x430c80]
mov eax, dword [ebp + eax*4 - 0x4b4]
mov dword [ebp + ecx - 0x6a8], eax
mov eax, dword [ecx + 0x430c84]
mov eax, dword [ebp + eax*4 - 0x4b4]
mov dword [ebp + ecx - 0x6a4], eax
add ecx, 0x10
cmp ecx, 0x100
jl 0x401780
mov ecx, 0x20
mov dword [ebp - 0x3180], 0x10
lea esi, [ebp - 0x630]
lea edi, [ebp - 0x1d0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x20
lea esi, [ebp - 0x6b0]
lea edi, [ebp - 0x250]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3160]
xor ecx, ecx
mov eax, dword [ecx + 0x4312b8]
mov eax, dword [ebp + eax*4 - 0x1d4]
mov dword [ebp + ecx - 0x310], eax
mov eax, dword [ecx + 0x4312bc]
mov eax, dword [ebp + eax*4 - 0x1d4]
mov dword [ebp + ecx - 0x30c], eax
mov eax, dword [ecx + 0x4312c0]
mov eax, dword [ebp + eax*4 - 0x1d4]
mov dword [ebp + ecx - 0x308], eax
mov eax, dword [ecx + 0x4312c4]
mov eax, dword [ebp + eax*4 - 0x1d4]
mov dword [ebp + ecx - 0x304], eax
mov eax, dword [ecx + 0x4312c8]
mov eax, dword [ebp + eax*4 - 0x1d4]
mov dword [ebp + ecx - 0x300], eax
mov eax, dword [ecx + 0x4312cc]
mov eax, dword [ebp + eax*4 - 0x1d4]
mov dword [ebp + ecx - 0x2fc], eax
add ecx, 0x18
cmp ecx, 0xc0
jl 0x401813
xor eax, eax
nop dword [eax]
movups xmm0, xmmword [edx - 0x10]
movups xmm1, xmmword [ebp + eax - 0x310]
pxor xmm1, xmm0
movups xmm0, xmmword [edx]
movups xmmword [ebp + eax - 0x110], xmm1
movups xmm1, xmmword [ebp + eax - 0x300]
pxor xmm1, xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ebp + eax - 0x100], xmm1
movups xmm1, xmmword [ebp + eax - 0x2f0]
pxor xmm1, xmm0
movups xmm0, xmmword [edx + 0x20]
add edx, 0x40
movups xmmword [ebp + eax - 0xf0], xmm1
movups xmm1, xmmword [ebp + eax - 0x2e0]
pxor xmm1, xmm0
movups xmmword [ebp + eax - 0xe0], xmm1
add eax, 0x40
cmp eax, 0xc0
jl 0x4018a0
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x318c], edx
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x31b8], eax
mov eax, dword [ebp - 0x108]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x104]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x100]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x31b4], eax
mov eax, dword [ebp - 0xe4]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x31b0], eax
mov eax, dword [ebp - 0xf0]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xec]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xe8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x31ac], eax
mov eax, dword [ebp - 0xcc]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x31a8], eax
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xd0]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x31a4], eax
mov eax, dword [ebp - 0xb4]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x31a0], eax
mov eax, dword [ebp - 0xc0]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xbc]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xb8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x319c], eax
mov eax, dword [ebp - 0x9c]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x3198], eax
mov eax, dword [ebp - 0xa8]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xa4]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xa0]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x3194], eax
mov eax, dword [ebp - 0x84]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x3190], eax
mov eax, dword [ebp - 0x90]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x8c]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x88]
lea edi, [eax + ecx*2]
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x6c]
lea ebx, [eax + ecx*2]
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x74]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x70]
lea edx, [eax + ecx*2]
shl ebx, 4
mov ecx, dword [ebp - 0x68]
add ebx, edx
mov eax, dword [ebp - 0x54]
lea esi, [eax + ecx*2]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
shl esi, 4
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x5c]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x58]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x31b8]
shl eax, 4
add esi, ecx
add eax, dword [ebp - 0x31b4]
mov eax, dword [eax*4 + 0x430a78]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x31b0]
shl eax, 4
add eax, dword [ebp - 0x31ac]
mov eax, dword [eax*4 + 0x431378]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x31a8]
shl eax, 4
add eax, dword [ebp - 0x31a4]
mov eax, dword [eax*4 + 0x430b78]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x31a0]
shl eax, 4
add eax, dword [ebp - 0x319c]
mov eax, dword [eax*4 + 0x430ef8]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x3198]
shl eax, 4
add eax, dword [ebp - 0x3194]
mov eax, dword [eax*4 + 0x4311b8]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x3190]
shl eax, 4
add eax, edi
lea edi, [ebp - 0x5ac]
mov eax, dword [eax*4 + 0x4310b8]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebx*4 + 0x430d78]
xor ebx, ebx
mov dword [ebp - 0x118], eax
mov eax, dword [esi*4 + 0x431478]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp + ebx*4 - 0x130]
xorps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm0
test eax, eax
je 0x401bb0
lea esi, [ebp - 0x14]
mov ecx, eax
and ecx, 0x80000001
jns 0x401ba4
dec ecx
or ecx, 0xfffffffe
inc ecx
cdq
mov dword [esi], ecx
sub eax, edx
sub esi, 4
sar eax, 1
jne 0x401b95
mov eax, dword [ebp - 0x20]
inc ebx
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 8], eax
add edi, 0x10
cmp ebx, 8
jl 0x401b80
xor ecx, ecx
mov eax, dword [ecx + 0x430e78]
mov eax, dword [ebp + eax*4 - 0x5b4]
mov dword [ebp + ecx - 0x3b0], eax
mov eax, dword [ecx + 0x430e7c]
mov eax, dword [ebp + eax*4 - 0x5b4]
mov dword [ebp + ecx - 0x3ac], eax
mov eax, dword [ecx + 0x430e80]
mov eax, dword [ebp + eax*4 - 0x5b4]
mov dword [ebp + ecx - 0x3a8], eax
mov eax, dword [ecx + 0x430e84]
mov eax, dword [ebp + eax*4 - 0x5b4]
mov dword [ebp + ecx - 0x3a4], eax
add ecx, 0x10
cmp ecx, 0x80
jl 0x401bd2
xor eax, eax
nop
movups xmm0, xmmword [ebp + eax - 0x250]
movups xmm1, xmmword [ebp + eax - 0x3b0]
pxor xmm1, xmm0
movups xmm0, xmmword [ebp + eax - 0x3a0]
movups xmmword [ebp + eax - 0x530], xmm1
movups xmm1, xmmword [ebp + eax - 0x240]
pxor xmm1, xmm0
movups xmm0, xmmword [ebp + eax - 0x390]
movups xmmword [ebp + eax - 0x520], xmm1
movups xmm1, xmmword [ebp + eax - 0x230]
pxor xmm1, xmm0
movups xmm0, xmmword [ebp + eax - 0x380]
movups xmmword [ebp + eax - 0x510], xmm1
movups xmm1, xmmword [ebp + eax - 0x220]
pxor xmm1, xmm0
movups xmmword [ebp + eax - 0x500], xmm1
add eax, 0x40
cmp eax, 0x80
jl 0x401c30
xor ecx, ecx
nop dword [eax]
mov eax, dword [ebp + ecx - 0x1d0]
mov dword [ebp + ecx - 0x250], eax
mov eax, dword [ebp + ecx - 0x530]
mov dword [ebp + ecx - 0x1d0], eax
add ecx, 4
cmp ecx, 0x80
jl 0x401cb0
sub dword [ebp - 0x3180], 1
mov edx, dword [ebp - 0x318c]
jne 0x401811
mov ebx, dword [ebp - 0x3174]
lea esi, [ebp - 0x1d0]
mov ecx, 0x20
lea edi, [ebp - 0xa70]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x20
lea esi, [ebp - 0x250]
lea edi, [ebp - 0x1d0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x20
lea esi, [ebp - 0xa70]
lea edi, [ebp - 0x250]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x20
lea esi, [ebp - 0x250]
lea edi, [ebp - 0x7b0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x20
lea esi, [ebp - 0x1d0]
lea edi, [ebp - 0x730]
rep movsd dword es:[edi], dword [esi]
mov esi, ebx
shl esi, 6
xor edx, edx
nop word [eax + eax]
mov ecx, dword [edx + 0x430c78]
mov eax, dword [ebp + edx - 0x7b0]
add ecx, esi
mov dword [ebp + ecx*4 - 0x1774], eax
mov ecx, dword [edx + 0x430c7c]
mov eax, dword [ebp + edx - 0x7ac]
add ecx, esi
mov dword [ebp + ecx*4 - 0x1774], eax
mov ecx, dword [edx + 0x430c80]
mov eax, dword [ebp + edx - 0x7a8]
add ecx, esi
mov dword [ebp + ecx*4 - 0x1774], eax
mov ecx, dword [edx + 0x430c84]
mov eax, dword [ebp + edx - 0x7a4]
add ecx, esi
add edx, 0x10
mov dword [ebp + ecx*4 - 0x1774], eax
cmp edx, 0x100
jl 0x401d60
mov eax, dword [ebp - 0x31bc]
lea edi, [ebp - 0x2570]
add edi, dword [ebp - 0x3188]
lea esi, [ebp - 0x1770]
add esi, dword [ebp - 0x3188]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x3178]
inc ebx
mov esi, dword [ebp - 0x3184]
mov ecx, dword [ebp - 0x317c]
mov dword [ebp - 0x3174], ebx
cmp ebx, edi
jl 0x4015f5
lea edx, [ebp - 0x256c]
mov ebx, edi
lea esi, [ebp - 0x9f0]
nop word [eax + eax]
mov edi, 0x10
mov eax, dword [edx]
mov ecx, dword [edx - 4]
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 4]
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 8]
add edx, 0x10
lea eax, [eax + ecx*2]
mov dword [esi], eax
add esi, 4
sub edi, 1
jne 0x401e25
sub ebx, 1
jne 0x401e20
mov edi, dword [ebp - 0x3178]
push 0x64
call fcn.00409009
push 0x64
mov esi, eax
push 0
push esi
call fcn.0040aaa0
shl edi, 4
add esp, 0x10
xor ecx, ecx
test edi, edi
jle 0x401ec5
mov eax, dword [ebp + ecx*4 - 0x9f0]
cmp eax, 0xa
jge 0x401e83
add al, 0x30
mov byte [esi + ecx], al
jmp 0x401ec0
jne 0x401e8b
mov byte [esi + ecx], 0x41
jmp 0x401ec0
cmp eax, 0xb
jne 0x401e96
mov byte [esi + ecx], 0x42
jmp 0x401ec0
cmp eax, 0xc
jne 0x401ea1
mov byte [esi + ecx], 0x43
jmp 0x401ec0
cmp eax, 0xd
jne 0x401eac
mov byte [esi + ecx], 0x44
jmp 0x401ec0
cmp eax, 0xe
jne 0x401eb7
mov byte [esi + ecx], 0x45
jmp 0x401ec0
cmp eax, 0xf
jne 0x401ec0
mov byte [esi + ecx], 0x46
inc ecx
cmp ecx, edi
jl 0x401e70
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00408fbd
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.00408fbd
mov esp, ebp
pop ebp
ret