Function at 0x413640
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x424
push ebx
push ebp
mov ebp, dword [esp + 0x434]
push esi
push edi
mov edi, dword [esp + 0x438]
mov byte [edi], al
mov eax, ebp
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push ecx
lea esi, [edi + 0x4c]
push esi
mov dword [edi + 4], ebp
call fcn.00468d50
mov eax, ebp
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add esp, 0xc
xor ebx, ebx
test eax, eax
jbe 0x413698
mov ecx, eax
lea edi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x438]
mov ebx, eax
cmp ebp, 0x100
jge 0x4136bb
mov ecx, ebp
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edi + ebx*4 + 0x4c]
lea edx, [eax - 1]
and ecx, edx
or ecx, eax
mov dword [esp + ebx*4 + 0x14], ecx
inc ebx
cmp ebx, 8
jae 0x4136d0
mov ecx, 8
sub ecx, ebx
lea edi, [esp + ebx*4 + 0x14]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, 1
lea eax, [esp + 0x18]
mov dword [esp + 0x10], 2
mov ebx, dword [eax + 8]
mov edx, dword [eax + 0x10]
mov ebp, dword [eax + 0x18]
mov esi, dword [eax + 0x14]
lea ecx, [edi - 1]
xor ecx, dword [eax - 4]
add eax, 0x10
xor ecx, ebx
xor ecx, edx
xor ecx, ebp
mov edx, ecx
xor ecx, 0x9e3fffff
shr ecx, 0x15
xor edx, 0xfff779b9
shl edx, 0xb
or edx, ecx
mov ecx, dword [eax - 4]
xor ecx, edi
xor ecx, edx
xor ecx, esi
xor ecx, dword [eax - 0x10]
mov dword [eax + 0xc], edx
mov esi, ecx
xor ecx, 0x9e3fffff
shr ecx, 0x15
xor esi, 0xfff779b9
shl esi, 0xb
or esi, ecx
lea ecx, [edi + 1]
xor ecx, dword [eax - 0xc]
mov dword [eax + 0x10], esi
xor ecx, esi
xor ecx, dword [eax]
xor ecx, ebp
mov esi, ecx
xor ecx, 0x9e3fffff
shr ecx, 0x15
xor esi, 0xfff779b9
shl esi, 0xb
or esi, ecx
lea ecx, [edi + 2]
xor ecx, esi
xor ecx, edx
xor ecx, dword [eax + 4]
mov dword [eax + 0x14], esi
xor ecx, ebx
mov edx, ecx
xor edx, 0xfff779b9
xor ecx, 0x9e3fffff
shl edx, 0xb
shr ecx, 0x15
or edx, ecx
mov dword [eax + 0x18], edx
add edi, 4
sub dword [esp + 0x10], 1
jne 0x4136e1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x50]
mov ebp, 8
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], ebp
mov ebx, 0x5000
lea eax, [esp + 0x18]
jmp 0x4137ea
mov ebp, dword [esp + 0x10]
mov edx, dword [eax + 8]
mov ecx, dword [eax - 4]
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x18]
xor ecx, edx
xor ecx, edi
xor ecx, esi
xor ecx, ebp
mov esi, dword [eax + 0x14]
mov edx, ecx
xor ecx, 0xfff779b9
shl ecx, 0xb
xor edx, 0x9e3fffff
shr edx, 0x15
or edx, ecx
mov ecx, dword [eax + 0xc]
xor ecx, dword [eax]
add ebp, 2
xor ecx, edx
xor ecx, esi
mov esi, ecx
xor esi, 0xfff779b9
shl esi, 0xb
lea edi, [ebx - 0x800]
xor esi, edi
lea edi, [ebp - 1]
xor edi, ecx
xor edi, 0x9e3fffff
shr edi, 0x15
or esi, edi
mov edi, dword [eax + 4]
xor edi, esi
xor edi, dword [eax + 0x10]
mov dword [eax + 0x20], esi
xor edi, dword [eax + 0x18]
mov esi, ebp
add dword [esp + 0x10], 4
xor esi, edi
mov ecx, edi
xor ecx, 0xfff779b9
shl ecx, 0xb
xor ecx, ebx
xor esi, 0x9e3fffff
shr esi, 0x15
or ecx, esi
mov dword [eax + 0x24], ecx
xor ecx, edx
xor ecx, dword [eax + 0x14]
mov dword [eax + 0x1c], edx
xor ecx, dword [eax + 8]
inc ebp
mov edx, ecx
xor edx, 0xfff779b9
xor ebp, ecx
shl edx, 0xb
lea esi, [ebx + 0x800]
xor ebp, 0x9e3fffff
xor edx, esi
shr ebp, 0x15
or edx, ebp
mov dword [eax + 0x28], edx
add ebx, 0x2000
add eax, 0x10
cmp ebx, 0x43000
jb 0x4137e6
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
xor esi, ebx
mov eax, edi
or eax, ebx
and esi, eax
mov edx, esi
xor edx, edi
mov dword [esp + 0x10], eax
mov ecx, edi
mov edi, ebp
and edi, ebx
or edi, dword [esp + 0x1c]
and ecx, ebx
or ecx, ebp
mov eax, edi
xor eax, edx
xor eax, ebp
mov dword [esp + 0x230], eax
or eax, dword [esp + 0x20]
mov ebp, ecx
and ebp, dword [esp + 0x20]
and eax, dword [esp + 0x18]
xor ecx, esi
or edx, ebx
xor eax, edx
mov edx, dword [esp + 0x2c]
xor ebp, edi
xor ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x30]
mov ebx, eax
mov esi, edx
mov dword [esp + 0x22c], ebp
mov ebp, dword [esp + 0x24]
or esi, ebp
xor ebx, esi
mov dword [esp + 0x228], ecx
xor edi, ebp
mov ecx, ebx
xor ecx, edi
mov dword [esp + 0x234], ecx
xor ecx, edx
mov edx, ecx
or edx, dword [esp + 0x28]
or eax, ebp
mov ebp, dword [esp + 0x34]
xor edx, ebx
mov ebx, dword [esp + 0x28]
xor ecx, ebx
and ecx, esi
mov esi, edx
or esi, edi
xor ecx, esi
xor eax, ecx
xor eax, edx
mov esi, edx
not esi
xor eax, ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x240], esi
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x3c]
mov esi, ecx
mov edx, eax
xor eax, dword [esp + 0x34]
not esi
or esi, ebp
mov edi, ebx
or edi, ebp
xor edx, ebx
mov ebp, esi
xor ebp, edx
and eax, ebx
mov dword [esp + 0x24c], ebp
or eax, ecx
and ecx, ebx
mov ebx, dword [esp + 0x4c]
and edx, edi
xor eax, edx
xor ecx, eax
xor ecx, ebp
mov ebp, dword [esp + 0x48]
mov edx, eax
xor ecx, edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x248], ecx
or ecx, eax
and ecx, esi
xor ecx, dword [esp + 0x3c]
not edx
mov dword [esp + 0x244], ecx
mov dword [esp + 0x250], edx
mov edx, dword [esp + 0x44]
mov eax, edi
or eax, edx
xor eax, ebx
xor eax, ebp
mov dword [esp + 0x260], eax
or eax, ebx
and eax, edi
mov ecx, edi
xor ecx, edx
xor edx, ebp
mov esi, ebx
or esi, ebp
and edx, esi
xor eax, edx
mov dword [esp + 0x25c], eax
and eax, edx
mov edx, dword [esp + 0x54]
xor eax, esi
mov esi, dword [esp + 0x5c]
xor eax, ecx
and ecx, ebp
mov ebp, dword [esp + 0x60]
not eax
xor ecx, eax
xor ecx, edi
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x58]
xor ecx, ebx
mov edi, ebp
mov ebx, eax
mov dword [esp + 0x258], ecx
and esi, edx
not edi
or ebx, esi
and eax, edx
mov dword [esp + 0x10], eax
or eax, ebp
mov ecx, edi
and ecx, edx
xor ecx, ebx
xor ecx, dword [esp + 0x5c]
mov ebp, ecx
or ebp, dword [esp + 0x5c]
mov dword [esp + 0x270], ecx
xor eax, ebp
xor eax, edx
mov ebp, eax
mov dword [esp + 0x268], eax
xor eax, dword [esp + 0x58]
xor ebp, esi
and ecx, ebx
mov ebx, dword [esp + 0x64]
or eax, ecx
or ebp, edi
xor ebp, dword [esp + 0x10]
xor eax, edx
xor ebp, dword [esp + 0x5c]
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x70]
mov esi, eax
xor esi, ebx
mov dword [esp + 0x264], ebp
and eax, ebx
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
xor eax, ebp
xor eax, edi
not eax
mov ecx, eax
and ecx, edi
mov edx, ebp
or ebp, ebx
xor ecx, ebp
or edx, edi
and edx, esi
xor ecx, edx
mov dword [esp + 0x278], eax
and eax, esi
not ecx
xor eax, ecx
xor eax, edi
xor eax, dword [esp + 0x64]
mov ebx, edi
or ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
xor ebx, edx
xor ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x274], eax
mov dword [esp + 0x280], ebx
mov ebx, dword [esp + 0x80]
mov eax, ebx
or eax, edx
xor eax, dword [esp + 0x7c]
mov esi, ebx
xor esi, edx
mov ecx, edi
and ecx, esi
xor eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, eax
not ecx
mov edx, ecx
or edx, ebx
xor edi, esi
mov ebp, edx
xor ebp, ebx
mov ebx, dword [esp + 0x78]
or ebp, edi
xor edx, edi
mov dword [esp + 0x284], ecx
or ecx, dword [esp + 0x10]
or edi, ebx
xor ecx, edi
mov edi, dword [esp + 0x88]
or eax, ebx
mov ebx, dword [esp + 0x8c]
xor ebp, eax
xor ecx, esi
mov dword [esp + 0x288], edx
mov edx, dword [esp + 0x90]
mov esi, edx
mov dword [esp + 0x28c], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x290], ecx
mov ecx, ebx
and ebx, dword [esp + 0x88]
or ecx, edi
xor esi, edi
or edi, ebp
xor ecx, ebp
mov eax, edx
and edi, edx
mov edx, edi
xor edx, ecx
mov dword [esp + 0x2a0], edx
mov ebp, ebx
and edx, esi
or ebp, ecx
xor ebp, edx
or eax, ecx
mov dword [esp + 0x29c], ebp
xor edx, esi
mov ecx, eax
and ecx, dword [esp + 0x84]
and eax, esi
xor eax, edi
xor eax, dword [esp + 0x8c]
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0x98]
not eax
or edx, ebx
mov ebx, dword [esp + 0x94]
xor edx, ecx
mov dword [esp + 0x294], eax
xor esi, ebx
mov eax, edi
or eax, ebx
and esi, eax
mov dword [esp + 0x298], edx
mov edx, esi
xor edx, edi
mov ecx, edi
mov dword [esp + 0x10], eax
mov edi, ebp
and edi, ebx
or edi, dword [esp + 0x9c]
and ecx, ebx
or ecx, ebp
mov eax, edi
xor eax, edx
xor eax, ebp
mov dword [esp + 0x2b0], eax
or eax, dword [esp + 0xa0]
mov ebp, ecx
and ebp, dword [esp + 0xa0]
and eax, dword [esp + 0x98]
or edx, ebx
xor eax, edx
mov edx, dword [esp + 0xac]
xor ecx, esi
xor ebp, edi
xor ebp, dword [esp + 0x10]
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0xb0]
mov esi, edx
mov ebx, eax
mov dword [esp + 0x2ac], ebp
mov ebp, dword [esp + 0xa4]
or esi, ebp
xor ebx, esi
mov dword [esp + 0x2a8], ecx
xor edi, ebp
mov ecx, ebx
xor ecx, edi
mov dword [esp + 0x2b4], ecx
xor ecx, edx
mov edx, ecx
or edx, dword [esp + 0xa8]
or eax, ebp
mov ebp, dword [esp + 0xb4]
xor edx, ebx
mov ebx, dword [esp + 0xa8]
xor ecx, ebx
and ecx, esi
mov esi, edx
or esi, edi
xor ecx, esi
xor eax, ecx
xor eax, edx
xor eax, ebx
mov ebx, dword [esp + 0xc0]
mov esi, edx
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0xbc]
mov edi, ebx
not esi
mov edx, eax
or edi, ebp
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2c0], esi
xor edx, ebx
xor eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov esi, ecx
and eax, ebx
or eax, ecx
and ecx, ebx
mov ebx, dword [esp + 0xcc]
not esi
or esi, ebp
mov ebp, esi
xor ebp, edx
and edx, edi
xor eax, edx
xor ecx, eax
xor ecx, ebp
xor ecx, edi
mov edi, dword [esp + 0xd0]
mov edx, eax
mov dword [esp + 0x2c8], ecx
or ecx, eax
and ecx, esi
xor ecx, dword [esp + 0xbc]
not edx
mov dword [esp + 0x2cc], ebp
mov ebp, dword [esp + 0xc8]
mov dword [esp + 0x2d0], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x2c4], ecx
mov eax, edi
or eax, edx
xor eax, ebx
xor eax, ebp
mov dword [esp + 0x2e0], eax
or eax, ebx
and eax, edi
mov ecx, edi
xor ecx, edx
xor edx, ebp
mov esi, ebx
or esi, ebp
and edx, esi
xor eax, edx
mov dword [esp + 0x2dc], eax
and eax, edx
mov edx, dword [esp + 0xd4]
xor eax, esi
mov esi, dword [esp + 0xdc]
xor eax, ecx
and ecx, ebp
mov ebp, dword [esp + 0xe0]
not eax
xor ecx, eax
xor ecx, edi
mov edi, ebp
xor ecx, ebx
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x2d8], ecx
mov ebx, eax
not edi
and esi, edx
mov ecx, edi
and ecx, edx
or ebx, esi
and eax, edx
xor ecx, ebx
xor ecx, dword [esp + 0xdc]
mov dword [esp + 0x10], eax
or eax, ebp
mov ebp, ecx
or ebp, dword [esp + 0xdc]
mov dword [esp + 0x2f0], ecx
xor eax, ebp
xor eax, edx
mov ebp, eax
xor ebp, esi
or ebp, edi
xor ebp, dword [esp + 0x10]
mov dword [esp + 0x2e8], eax
xor ebp, dword [esp + 0xdc]
mov dword [esp + 0x2e4], ebp
xor eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xe8]
and ecx, ebx
or eax, ecx
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xec]
xor eax, edx
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0xf0]
mov esi, eax
and eax, ebx
xor eax, ebp
xor eax, edi
not eax
xor esi, ebx
mov ecx, eax
and ecx, edi
mov edx, ebp
or ebp, ebx
xor ecx, ebp
or edx, edi
and edx, esi
xor ecx, edx
mov dword [esp + 0x2f8], eax
and eax, esi
not ecx
xor eax, ecx
mov ebx, edi
or ebx, dword [esp + 0xf0]
xor eax, edi
xor eax, dword [esp + 0xe4]
mov edi, dword [esp + 0xf4]
xor ebx, edx
xor ebx, dword [esp + 0xec]
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x2fc], ecx
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x300], ebx
mov ebx, dword [esp + 0x100]
mov ecx, edi
mov eax, ebx
or eax, edx
xor eax, dword [esp + 0xfc]
mov esi, ebx
xor esi, edx
and ecx, esi
xor eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, eax
not ecx
mov edx, ecx
or edx, ebx
xor edi, esi
mov dword [esp + 0x304], ecx
or ecx, dword [esp + 0x10]
mov ebp, edx
xor ebp, ebx
mov ebx, dword [esp + 0xf8]
or ebp, edi
xor edx, edi
or edi, ebx
xor ecx, edi
mov edi, dword [esp + 0x108]
xor ecx, esi
or eax, ebx
mov ebx, dword [esp + 0x10c]
xor ebp, eax
mov dword [esp + 0x310], ecx
mov dword [esp + 0x308], edx
mov edx, dword [esp + 0x110]
mov ecx, ebx
or ecx, edi
mov dword [esp + 0x30c], ebp
mov ebp, dword [esp + 0x104]
mov esi, edx
xor ecx, ebp
xor esi, edi
mov eax, edx
or edi, ebp
or eax, ecx
and edi, edx
and ebx, dword [esp + 0x108]
mov edx, edi
xor edx, ecx
mov ebp, ebx
or ebp, ecx
mov ecx, eax
and ecx, dword [esp + 0x104]
and eax, esi
xor eax, edi
xor eax, dword [esp + 0x10c]
mov edi, dword [esp + 0x120]
mov dword [esp + 0x320], edx
and edx, esi
xor ebp, edx
xor edx, esi
mov esi, dword [esp + 0x11c]
not eax
or edx, ebx
mov ebx, dword [esp + 0x114]
xor edx, ecx
mov dword [esp + 0x314], eax
xor esi, ebx
mov eax, edi
or eax, ebx
and esi, eax
mov dword [esp + 0x318], edx
mov edx, esi
xor edx, edi
mov dword [esp + 0x31c], ebp
mov ebp, dword [esp + 0x118]
mov ecx, edi
mov edi, ebp
and edi, ebx
or edi, dword [esp + 0x11c]
mov dword [esp + 0x10], eax
and ecx, ebx
or ecx, ebp
mov eax, edi
xor eax, edx
xor eax, ebp
mov ebp, ecx
and ebp, dword [esp + 0x120]
mov dword [esp + 0x330], eax
or eax, dword [esp + 0x120]
xor ecx, esi
and eax, dword [esp + 0x118]
or edx, ebx
xor ebp, edi
xor ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x128]
xor eax, edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x130]
mov esi, edx
mov dword [esp + 0x32c], ebp
mov ebp, dword [esp + 0x124]
or esi, ebp
mov dword [esp + 0x328], ecx
mov ebx, eax
xor ebx, esi
xor edi, ebp
mov ecx, ebx
xor ecx, edi
mov dword [esp + 0x334], ecx
xor ecx, edx
mov edx, ecx
or edx, dword [esp + 0x128]
or eax, ebp
xor edx, ebx
mov ebx, dword [esp + 0x128]
xor ecx, ebx
and ecx, esi
mov esi, edx
or esi, edi
xor ecx, esi
mov esi, edx
not esi
mov dword [esp + 0x338], ecx
mov dword [esp + 0x340], esi
xor eax, ecx
mov ecx, dword [esp + 0x138]
xor eax, edx
mov ebp, dword [esp + 0x134]
xor eax, ebx
mov ebx, dword [esp + 0x140]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x13c]
mov esi, ecx
mov edx, eax
xor eax, dword [esp + 0x134]
xor edx, ebx
and eax, ebx
or eax, ecx
and ecx, ebx
not esi
or esi, ebp
mov edi, ebx
mov ebx, dword [esp + 0x14c]
or edi, ebp
mov ebp, esi
xor ebp, edx
and edx, edi
xor eax, edx
xor ecx, eax
xor ecx, ebp
xor ecx, edi
mov edi, dword [esp + 0x150]
mov edx, eax
mov dword [esp + 0x348], ecx
or ecx, eax
and ecx, esi
xor ecx, dword [esp + 0x13c]
not edx
mov dword [esp + 0x350], edx
mov edx, dword [esp + 0x144]
mov dword [esp + 0x344], ecx
mov eax, edi
or eax, edx
xor eax, ebx
mov dword [esp + 0x34c], ebp
mov ebp, dword [esp + 0x148]
xor eax, ebp
mov dword [esp + 0x360], eax
or eax, ebx
and eax, edi
mov ecx, edi
xor ecx, edx
mov esi, ebx
or esi, ebp
xor edx, ebp
and edx, esi
xor eax, edx
mov dword [esp + 0x35c], eax
and eax, edx
mov edx, dword [esp + 0x154]
xor eax, esi
mov esi, dword [esp + 0x15c]
xor eax, ecx
and ecx, ebp
mov ebp, dword [esp + 0x160]
not eax
xor ecx, eax
xor ecx, edi
xor ecx, ebx
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x158]
mov edi, ebp
mov dword [esp + 0x358], ecx
not edi
mov ebx, eax
and esi, edx
mov ecx, edi
and ecx, edx
or ebx, esi
xor ecx, ebx
xor ecx, dword [esp + 0x15c]
and eax, edx
mov dword [esp + 0x10], eax
or eax, ebp
mov dword [esp + 0x370], ecx
mov ebp, ecx
or ebp, dword [esp + 0x15c]
and ecx, ebx
xor eax, ebp
xor eax, edx
mov ebx, dword [esp + 0x164]
mov ebp, eax
mov dword [esp + 0x368], eax
xor eax, dword [esp + 0x158]
xor ebp, esi
or eax, ecx
xor eax, edx
or ebp, edi
xor ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x168]
xor ebp, dword [esp + 0x15c]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x170]
mov esi, eax
and eax, ebx
mov dword [esp + 0x364], ebp
mov ebp, dword [esp + 0x16c]
xor eax, ebp
xor eax, edi
not eax
xor esi, ebx
mov ecx, eax
and ecx, edi
mov edx, ebp
or ebp, ebx
xor ecx, ebp
or edx, edi
and edx, esi
xor ecx, edx
mov dword [esp + 0x378], eax
and eax, esi
not ecx
xor eax, ecx
mov ebx, edi
or ebx, dword [esp + 0x170]
xor eax, edi
xor eax, dword [esp + 0x164]
mov edi, dword [esp + 0x174]
xor ebx, edx
xor ebx, dword [esp + 0x16c]
mov edx, dword [esp + 0x178]
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x380], ebx
mov ebx, dword [esp + 0x180]
mov dword [esp + 0x374], eax
mov eax, ebx
or eax, edx
xor eax, dword [esp + 0x17c]
mov esi, ebx
xor esi, edx
mov ecx, edi
and ecx, esi
xor eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, eax
not ecx
mov edx, ecx
or edx, ebx
xor edi, esi
mov ebp, edx
xor ebp, ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x384], ecx
or ecx, dword [esp + 0x10]
or ebp, edi
xor edx, edi
or edi, ebx
or eax, ebx
mov ebx, dword [esp + 0x18c]
xor ecx, edi
mov edi, dword [esp + 0x188]
xor ebp, eax
xor ecx, esi
mov dword [esp + 0x390], ecx
mov dword [esp + 0x38c], ebp
mov dword [esp + 0x388], edx
mov ecx, ebx
mov edx, dword [esp + 0x190]
and ebx, dword [esp + 0x188]
mov ebp, dword [esp + 0x184]
or ecx, edi
xor ecx, ebp
mov esi, edx
xor esi, edi
or edi, ebp
and edi, edx
mov eax, edx
or eax, ecx
mov edx, edi
xor edx, ecx
mov ebp, ebx
or ebp, ecx
mov ecx, eax
and ecx, dword [esp + 0x184]
and eax, esi
xor eax, edi
xor eax, dword [esp + 0x18c]
mov edi, dword [esp + 0x1a0]
mov dword [esp + 0x3a0], edx
and edx, esi
xor ebp, edx
xor edx, esi
mov esi, dword [esp + 0x19c]
or edx, ebx
mov ebx, dword [esp + 0x194]
xor edx, ecx
not eax
mov dword [esp + 0x394], eax
mov eax, edi
or eax, ebx
xor esi, ebx
and esi, eax
mov dword [esp + 0x398], edx
mov dword [esp + 0x39c], ebp
mov ebp, dword [esp + 0x198]
mov ecx, edi
mov edx, esi
xor edx, edi
mov edi, ebp
and edi, ebx
or edi, dword [esp + 0x19c]
mov dword [esp + 0x10], eax
and ecx, ebx
or ecx, ebp
mov eax, edi
xor eax, edx
xor eax, ebp
mov ebp, ecx
and ebp, dword [esp + 0x1a0]
mov dword [esp + 0x3b0], eax
or eax, dword [esp + 0x1a0]
or edx, ebx
and eax, dword [esp + 0x198]
xor ebp, edi
xor ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x1a8]
xor eax, edx
mov edx, dword [esp + 0x1ac]
xor ecx, esi
mov esi, edx
mov dword [esp + 0x3ac], ebp
mov ebp, dword [esp + 0x1a4]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x1b0]
or esi, ebp
mov dword [esp + 0x3a8], ecx
mov ebx, eax
xor ebx, esi
xor edi, ebp
mov ecx, ebx
xor ecx, edi
mov dword [esp + 0x3b4], ecx
xor ecx, edx
mov edx, ecx
or edx, dword [esp + 0x1a8]
xor edx, ebx
mov ebx, dword [esp + 0x1a8]
xor ecx, ebx
and ecx, esi
or eax, ebp
mov ebp, dword [esp + 0x1b4]
mov esi, edx
or esi, edi
xor ecx, esi
xor eax, ecx
xor eax, edx
xor eax, ebx
mov ebx, dword [esp + 0x1c0]
mov dword [esp + 0x3b8], ecx
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x1bc]
mov esi, edx
mov edx, eax
xor eax, dword [esp + 0x1b4]
not esi
and eax, ebx
or eax, ecx
mov dword [esp + 0x3c0], esi
mov esi, ecx
xor edx, ebx
and ecx, ebx
not esi
or esi, ebp
mov edi, ebx
mov ebx, dword [esp + 0x1cc]
or edi, ebp
mov ebp, esi
xor ebp, edx
and edx, edi
xor eax, edx
xor ecx, eax
xor ecx, ebp
xor ecx, edi
mov edi, dword [esp + 0x1d0]
mov edx, eax
mov dword [esp + 0x3c8], ecx
or ecx, eax
and ecx, esi
xor ecx, dword [esp + 0x1bc]
not edx
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x1c4]
mov eax, edi
or eax, edx
xor eax, ebx
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x3cc], ebp
mov ebp, dword [esp + 0x1c8]
xor eax, ebp
mov dword [esp + 0x3e0], eax
or eax, ebx
and eax, edi
mov ecx, edi
xor ecx, edx
mov esi, ebx
or esi, ebp
xor edx, ebp
and edx, esi
xor eax, edx
mov dword [esp + 0x3dc], eax
and eax, edx
mov edx, dword [esp + 0x1d4]
xor eax, esi
mov esi, dword [esp + 0x1dc]
xor eax, ecx
and ecx, ebp
mov ebp, dword [esp + 0x1e0]
not eax
xor ecx, eax
xor ecx, edi
xor ecx, ebx
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x1d8]
mov edi, ebp
mov dword [esp + 0x3d8], ecx
and esi, edx
not edi
mov ebx, eax
and eax, edx
mov dword [esp + 0x10], eax
or eax, ebp
or ebx, esi
mov ecx, edi
and ecx, edx
xor ecx, ebx
xor ecx, dword [esp + 0x1dc]
mov ebp, ecx
or ebp, dword [esp + 0x1dc]
mov dword [esp + 0x3f0], ecx
xor eax, ebp
xor eax, edx
mov ebp, eax
mov dword [esp + 0x3e8], eax
xor eax, dword [esp + 0x1d8]
and ecx, ebx
mov ebx, dword [esp + 0x1e4]
or eax, ecx
xor eax, edx
xor ebp, esi
or ebp, edi
xor ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x1e8]
xor ebp, dword [esp + 0x1dc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x1f0]
mov esi, eax
and eax, ebx
mov dword [esp + 0x3e4], ebp
mov ebp, dword [esp + 0x1ec]
xor eax, ebp
xor eax, edi
not eax
mov ecx, eax
xor esi, ebx
and ecx, edi
mov edx, ebp
or ebp, ebx
xor ecx, ebp
or edx, edi
and edx, esi
xor ecx, edx
mov dword [esp + 0x3f8], eax
and eax, esi
not ecx
xor eax, ecx
mov ebx, edi
or ebx, dword [esp + 0x1f0]
xor eax, edi
xor eax, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1f4]
xor ebx, edx
xor ebx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1f8]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x400], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 0x3fc], ecx
mov eax, ebx
or eax, edx
xor eax, dword [esp + 0x1fc]
mov esi, ebx
xor esi, edx
mov ecx, edi
and ecx, esi
xor eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, eax
not ecx
mov edx, ecx
or edx, ebx
mov ebp, edx
xor ebp, ebx
mov ebx, dword [esp + 0x1f8]
xor edi, esi
or ebp, edi
or eax, ebx
xor ebp, eax
mov dword [esp + 0x404], ecx
mov dword [esp + 0x40c], ebp
or ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20c]
xor edx, edi
or edi, ebx
mov ebx, dword [esp + 0x204]
xor ecx, edi
mov edi, dword [esp + 0x208]
xor ecx, esi
mov dword [esp + 0x408], edx
mov edx, dword [esp + 0x210]
mov esi, edx
xor esi, edi
mov dword [esp + 0x410], ecx
mov eax, ebp
or eax, edi
xor eax, ebx
or edi, ebx
and edi, edx
mov ecx, edx
or ecx, eax
mov ebx, ebp
and ebx, dword [esp + 0x208]
mov edx, edi
xor edx, eax
or eax, ebx
mov dword [esp + 0x420], edx
and edx, esi
xor eax, edx
mov dword [esp + 0x41c], eax
mov eax, ecx
and eax, dword [esp + 0x204]
and ecx, esi
xor edx, esi
mov esi, dword [esp + 0x21c]
xor ecx, edi
mov edi, dword [esp + 0x220]
or edx, ebx
mov ebx, dword [esp + 0x214]
xor edx, eax
xor ecx, ebp
mov ebp, dword [esp + 0x218]
mov eax, edi
or eax, ebx
not ecx
xor esi, ebx
and esi, eax
mov dword [esp + 0x418], edx
mov dword [esp + 0x414], ecx
mov ecx, edi
mov edx, esi
xor edx, edi
mov edi, ebp
mov dword [esp + 0x10], eax
and edi, ebx
or edi, dword [esp + 0x21c]
and ecx, ebx
or ecx, ebp
mov eax, edi
xor eax, edx
xor eax, ebp
mov dword [esp + 0x430], eax
or eax, dword [esp + 0x220]
mov ebp, ecx
and ebp, dword [esp + 0x220]
and eax, dword [esp + 0x218]
or edx, ebx
xor ecx, esi
xor ebp, edi
xor ebp, dword [esp + 0x10]
xor eax, edx
mov dword [esp + 0x428], ecx
mov ecx, dword [esp + 0x438]
mov dword [esp + 0x424], eax
mov dword [esp + 0x42c], ebp
lea eax, [esp + 0x228]
add ecx, 0x70
mov edx, 0x21
mov esi, dword [eax - 4]
mov dword [ecx - 4], esi
mov esi, dword [eax]
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
add eax, 0x10
add ecx, 0x10
sub edx, 1
jne 0x414762
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x424
ret 8