Function at 0x41563d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa8
push ebx
push ebp
push esi
push edi
and dword [esp + 0x28], 0
lea edi, [esp + 0x54]
mov eax, ecx
mov dword [esp + 0x1c], edx
push 8
mov esi, eax
mov dword [esp + 0x24], eax
pop ecx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x68]
lea edi, [esp + 0x98]
mov ebp, dword [esp + 0x70]
mov esi, edx
mov edx, dword [esp + 0x6c]
push 8
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x88], ebx
xor eax, dword [esp + 0x84]
mov ebx, ecx
xor edi, dword [esp + 0x90]
mov dword [esp + 0x38], eax
xor edx, dword [esp + 0x74]
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
mov eax, edx
shl eax, 8
xor ebx, dword [esp + 0x88]
xor esi, dword [esp + 0x94]
mov dword [esp + 0x18], edi
movzx edi, cl
or edi, eax
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x18]
mov esi, ebp
movzx eax, al
mov ebp, 0xff00
shl edi, 8
or edi, eax
xor esi, dword [esp + 0x30]
shl edi, 8
movzx eax, bl
or edi, eax
mov eax, ecx
and eax, ebp
mov dword [esp + 0x34], edi
mov edi, edx
and edi, 0xffffff00
shl edi, 8
or edi, eax
mov eax, ebx
shr eax, 8
movzx eax, al
shl edi, 8
or edi, eax
mov eax, dword [esp + 0x18]
and eax, ebp
shr dword [esp + 0x18], 8
or edi, eax
mov eax, ebx
shr eax, 0x10
mov dword [esp + 0x48], edi
movzx edi, al
mov eax, edx
and eax, 0xffff0000
shr ebx, 0x18
shl eax, 8
and edx, 0xff000000
or edi, eax
mov eax, dword [esp + 0x18]
and eax, ebp
mov ebp, 0xff0000
or edi, eax
mov eax, ecx
and eax, ebp
and ecx, 0xff0000ff
or edi, eax
mov eax, dword [esp + 0x18]
and eax, ebp
mov dword [esp + 0x24], edi
or eax, ecx
mov ecx, dword [esp + 0x10]
shr eax, 8
or eax, ebx
movzx ebp, cl
or eax, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, esi
shl eax, 8
or ebp, eax
mov eax, dword [esp + 0x14]
shl ebp, 8
movzx eax, al
or ebp, eax
shl ebp, 8
movzx eax, dl
mov ebx, esi
or ebp, eax
and ebx, 0xffffff00
mov eax, ecx
shl ebx, 8
mov edi, 0xff00
and eax, edi
or ebx, eax
mov eax, edx
shr eax, 8
movzx eax, al
shl ebx, 8
or ebx, eax
mov eax, dword [esp + 0x14]
and eax, edi
shr dword [esp + 0x14], 8
or ebx, eax
mov eax, edx
shr eax, 0x10
movzx edi, al
mov eax, esi
and eax, 0xffff0000
shr edx, 0x18
shl eax, 8
and esi, 0xff000000
or edi, eax
mov eax, dword [esp + 0x14]
and eax, 0xff00
or edi, eax
mov eax, ecx
and eax, 0xff0000
and ecx, 0xff0000ff
or edi, eax
mov eax, dword [esp + 0x14]
and eax, 0xff0000
or eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
or eax, edx
or eax, esi
mov esi, 0xff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x10], edx
add edx, dword [esp + 0x34]
mov ecx, edx
mov eax, edx
shr eax, 8
and eax, esi
shr ecx, 0x10
and ecx, esi
mov esi, dword [ecx*4 + 0x43a2a0]
xor esi, dword [eax*4 + 0x43aaa0]
mov eax, edx
mov ecx, dword [esp + 0x28]
shr eax, 0x18
xor esi, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x48]
xor esi, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x20]
xor esi, dword [eax + ecx*4 + 4]
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x24]
add edx, eax
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x18]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
mov dword [esp + 0x10], eax
lea edx, [eax + ebp]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
lea edx, [ebx + esi]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
mov dword [esp + 0x10], eax
lea edx, [edi + eax]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
mov edx, dword [esp + 0x14]
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x34]
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
add edx, eax
mov dword [esp + 0x10], eax
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x48]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x24]
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
add edx, eax
mov dword [esp + 0x10], eax
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x18]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
mov dword [esp + 0x10], eax
lea edx, [eax + ebp]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
lea edx, [ebx + esi]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
mov dword [esp + 0x10], eax
lea edx, [edi + eax]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x14]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x34]
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
add edx, eax
mov dword [esp + 0x10], eax
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x48]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x24]
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
add edx, eax
mov dword [esp + 0x10], eax
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x18]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
mov dword [esp + 0x10], eax
lea edx, [eax + ebp]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
lea edx, [ebx + esi]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
mov eax, dword [esp + 0x10]
xor eax, ecx
mov dword [esp + 0x10], eax
lea edx, [edi + eax]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x14]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x10]
xor ecx, dword [eax*4 + 0x43a6a0]
xor edx, ecx
mov dword [esp + 0x10], edx
add edx, dword [esp + 0x14]
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, 0xff
shr eax, 8
and eax, 0xff
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
lea edx, [edi + esi]
mov edi, 0xff
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, edi
shr eax, 8
and eax, edi
mov edi, dword [esp + 0x10]
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
xor edi, ecx
lea edx, [ebx + edi]
mov ebx, 0xff
mov ecx, edx
mov eax, edx
shr ecx, 0x10
shr eax, 8
and ecx, ebx
and eax, ebx
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
lea edx, [esi + ebp]
mov ebp, 0xff
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, ebx
shr eax, 8
and eax, ebx
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x18]
xor ecx, dword [eax*4 + 0x43a6a0]
xor edi, ecx
add edx, edi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, ebx
shr eax, 8
and eax, ebx
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x24]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, ebx
shr eax, 8
and eax, ebx
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x48]
xor ecx, dword [eax*4 + 0x43a6a0]
xor edi, ecx
add edx, edi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, ebx
shr eax, 8
and eax, ebx
mov ebx, dword [esp + 0x28]
mov ecx, dword [ecx*4 + 0x43a2a0]
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
mov edx, dword [esp + 0x34]
xor ecx, dword [eax*4 + 0x43a6a0]
xor esi, ecx
add edx, esi
mov dword [esp + ebx*4 + 0x54], esi
mov ecx, edx
mov eax, edx
shr ecx, 0x10
and ecx, ebp
shr eax, 8
mov ecx, dword [ecx*4 + 0x43a2a0]
and eax, ebp
xor ecx, dword [eax*4 + 0x43aaa0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x439ea0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x43a6a0]
xor ecx, edi
mov dword [esp + ebx*4 + 0x58], ecx
cmp ebx, 6
je 0x41624e
mov ecx, dword [esp + 0x4c]
mov ebp, ecx
xor ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x8c]
xor edx, dword [esp + 0x40]
cmp dword [esp + 0x28], 2
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x34], edx
mov edx, ebp
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x80], ebp
jne 0x4161cc
mov edx, 0xff00ff
mov ebp, 0xff00ff00
xor dword [esp + 0x2c], ebp
xor edi, edx
xor esi, edx
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0x38]
xor ebx, ebp
mov ebp, dword [esp + 0x34]
xor ecx, 0xffff00
xor eax, 0xff0000ff
mov dword [esp + 0x40], ebx
xor edx, 0xff
mov dword [esp + 0x8c], esi
xor ebp, 0xff00ffff
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x80], ebp
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x7c]
xor eax, ecx
mov edi, dword [esp + 0x74]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x88], ebx
xor ebx, ecx
mov ecx, dword [esp + 0x94]
xor eax, ecx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov eax, ebx
xor eax, ecx
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
add eax, 2
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x4c]
cmp eax, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x84], ebx
jl 0x415719
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0x5c]
xor ebx, dword [esp + 0x54]
mov eax, dword [ecx]
xor ebx, ebp
mov ecx, dword [ecx + 4]
xor eax, ebp
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x3c], eax
xor edi, esi
mov eax, dword [esp + 0x70]
xor ecx, eax
mov edx, dword [esp + 0x60]
xor edx, dword [esp + 0x5c]
xor edx, dword [esp + 0x54]
mov dword [esp + 0x30], ecx
xor edx, esi
mov ecx, eax
xor edx, dword [esp + 0x70]
and eax, 0xffff0000
shl ebx, 0x10
xor ebx, eax
xor ecx, edi
mov eax, ecx
xor edx, ebp
shr eax, 0x10
xor ebx, eax
movzx eax, di
xor ebx, eax
and edi, 0xffff0000
mov eax, dword [esp + 0x1c]
xor ebx, dword [eax + 8]
mov eax, edx
xor ebx, ebp
shl eax, 0x10
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x5c]
xor ebx, esi
shr edx, 0x10
mov esi, ebx
mov ebx, dword [esp + 0x60]
xor esi, dword [esp + 0x70]
xor esi, ebp
shr esi, 0x10
xor esi, eax
movzx eax, cx
xor esi, eax
mov eax, dword [esp + 0x1c]
xor esi, dword [eax + 0xc]
mov eax, dword [esp + 0x70]
xor esi, ebp
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x64]
xor esi, ebx
movzx ecx, ax
xor esi, dword [esp + 0x5c]
xor esi, dword [esp + 0x54]
xor esi, eax
xor esi, ebp
mov eax, esi
shl eax, 0x10
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, edx
mov edx, ebx
xor ecx, edi
mov edi, dword [esp + 0x70]
xor ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x68]
xor ecx, dword [esp + 0x64]
mov dword [esp + 0x10], eax
xor edx, ecx
xor dword [esp + 0x10], edi
xor dword [esp + 0x10], ebp
xor dword [esp + 0x10], edx
shl dword [esp + 0x10], 0x10
xor eax, edi
mov edi, dword [esp + 0x58]
and eax, 0xffff0000
xor dword [esp + 0x10], eax
movzx eax, di
xor dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
shr esi, 0x10
xor eax, esi
mov esi, dword [esp + 0x1c]
xor eax, dword [esi + 0x14]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x5c]
xor dword [esp + 0x10], eax
xor eax, esi
xor eax, ebp
xor eax, ecx
mov ecx, edi
xor ecx, ebp
mov dword [esp + 0x38], eax
xor ecx, edx
shl eax, 0x10
mov edx, dword [esp + 0x1c]
shr ecx, 0x10
xor ecx, eax
mov eax, dword [esp + 0x54]
xor ecx, dword [edx + 0x18]
xor ecx, ebx
xor ecx, eax
xor ecx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x68]
xor ecx, ebx
xor ecx, eax
and eax, 0xffff0000
xor ecx, edi
xor edi, esi
xor ecx, esi
and edi, 0xffff
mov esi, dword [esp + 0x3c]
shl ecx, 0x10
xor ecx, edi
xor ecx, eax
mov eax, dword [esp + 0x38]
shr eax, 0x10
xor ecx, eax
mov eax, esi
xor ecx, dword [edx + 0x1c]
mov edx, dword [esp + 0x30]
mov ebx, edx
shr eax, 0x10
shl ebx, 0x10
xor ebx, eax
xor ecx, dword [esp + 0x64]
xor ebx, dword [ebp]
mov eax, edx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x24]
mov edi, ebx
shr eax, 0x10
shl edi, 0x10
xor edi, eax
shr ebx, 0x10
xor edi, dword [ebp + 4]
mov ebp, dword [esp + 0x14]
mov eax, ebp
shl eax, 0x10
xor ebx, eax
shr ebp, 0x10
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], edi
xor ebx, dword [eax + 8]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x18]
mov eax, ebx
shl eax, 0x10
xor ebp, eax
mov eax, dword [esp + 0x20]
xor ebp, dword [eax + 0xc]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x10]
mov eax, ebp
shl eax, 0x10
shr ebx, 0x10
xor ebx, eax
shr ebp, 0x10
mov eax, dword [esp + 0x20]
xor ebx, dword [eax + 0x10]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
mov eax, ebx
shl eax, 0x10
xor ebp, eax
shr ebx, 0x10
mov eax, dword [esp + 0x20]
xor ebp, dword [eax + 0x14]
mov eax, ecx
shl eax, 0x10
xor ebx, eax
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
xor eax, edx
xor eax, esi
xor edx, esi
xor edx, ecx
shl eax, 0x10
shr ecx, 0x10
and edx, 0xffff0000
xor ebx, dword [ebp + 0x18]
xor eax, edx
xor eax, ecx
mov edx, dword [esp + 0x28]
xor eax, dword [ebp + 0x1c]
mov ebp, ebx
mov dword [esp + 0x1c], eax
xor ebp, edi
mov esi, eax
mov dword [esp + 0x30], ebx
xor esi, dword [esp + 0x18]
mov edi, eax
xor esi, dword [esp + 0x24]
mov ecx, ebp
xor ecx, eax
mov ebx, dword [esp + 0x20]
xor ecx, dword [esp + 0x10]
xor esi, edx
xor ecx, dword [esp + 0x14]
and edi, 0xffff
mov eax, dword [esp + 0x2c]
xor ecx, edx
shr ecx, 0x10
xor eax, edx
xor edx, dword [esp + 0x1c]
and eax, 0xffff0000
xor ecx, eax
mov eax, esi
shl eax, 0x10
xor ecx, eax
shr esi, 0x10
xor ecx, edi
mov eax, edx
xor ecx, dword [esp + 0x10]
and eax, 0xffff0000
mov dword [ebx], ecx
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
xor ecx, ebx
xor ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x14]
shl ecx, 0x10
xor ecx, eax
xor ecx, esi
mov esi, dword [esp + 0x2c]
movzx eax, si
xor ecx, eax
mov eax, dword [esp + 0x20]
xor ecx, ebx
xor ecx, dword [esp + 0x24]
xor ebp, dword [esp + 0x1c]
mov dword [eax + 4], ecx
xor esi, dword [esp + 0x24]
mov eax, ebp
xor eax, dword [esp + 0x10]
mov ecx, esi
xor ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x18]
xor eax, dword [esp + 0x14]
shl ecx, 0x10
xor esi, dword [esp + 0x28]
shr eax, 0x10
xor ecx, eax
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 0x18]
movzx eax, dx
xor ecx, eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
and eax, 0xffff0000
xor ebp, dword [esp + 0x18]
xor ecx, eax
shr esi, 0x10
xor ecx, ebx
mov ebx, dword [esp + 0x24]
xor ecx, dword [esp + 0x14]
xor ebx, dword [esp + 0x30]
mov dword [edx + 8], ecx
mov edx, ebx
xor edx, dword [esp + 0x10]
mov ecx, edx
xor ecx, dword [esp + 0x14]
mov eax, ecx
xor eax, dword [esp + 0x28]
shl eax, 0x10
xor esi, eax
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x28]
and eax, 0xffff0000
xor esi, eax
mov eax, ebp
xor eax, dword [esp + 0x14]
xor esi, edi
xor esi, dword [esp + 0x24]
xor esi, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
xor ebp, dword [esp + 0x14]
shl eax, 0x10
shr ebp, 0x10
mov dword [edi + 0xc], esi
mov edi, dword [esp + 0x28]
xor ecx, edi
mov esi, dword [esp + 0x2c]
shr ecx, 0x10
xor eax, ecx
mov ecx, dword [esp + 0x20]
xor eax, dword [esp + 0x24]
xor eax, esi
xor eax, dword [esp + 0x14]
xor eax, dword [esp + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, ebx
xor ecx, esi
mov eax, dword [esp + 0x20]
xor ecx, dword [esp + 0x18]
xor esi, edi
xor esi, dword [esp + 0x1c]
xor ecx, edi
xor ecx, dword [esp + 0x1c]
and esi, 0xffff0000
xor ecx, dword [esp + 0x10]
shl ecx, 0x10
xor ecx, esi
xor ecx, ebp
mov ebp, dword [esp + 0x30]
xor ecx, dword [esp + 0x24]
xor ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x14]
xor ecx, ebp
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
xor eax, ecx
xor edx, dword [esp + 0x18]
xor eax, ebp
mov esi, dword [esp + 0x20]
shl eax, 0x10
xor ebx, dword [esp + 0x2c]
xor ebx, dword [esp + 0x18]
shr edx, 0x10
xor ebx, ecx
xor eax, edx
shl ebx, 0x10
xor eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
xor eax, edx
xor eax, dword [esp + 0x18]
xor eax, dword [esp + 0x14]
xor eax, edi
xor eax, ecx
xor eax, ebp
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x2c]
xor eax, edx
xor eax, dword [esp + 0x14]
xor eax, edi
xor eax, ebp
shr eax, 0x10
xor eax, ebx
xor eax, edx
xor eax, dword [esp + 0x18]
xor eax, dword [esp + 0x14]
xor eax, edi
pop edi
xor eax, ecx
mov ecx, esi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x1c], eax
add esp, 0xa8
ret