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

Disassembly:
sub esp, 0x13c
push ebx
push ebp
push esi
mov esi, eax
xor eax, eax
cmp esi, 0x10
push edi
mov ecx, eax
mov ebx, eax
mov ebp, eax
mov edi, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], edi
jle 0x100655b0
mov esi, 0x10
xor edx, edx
test esi, esi
jle 0x100655e1
mov eax, dword [esp + 0x154]
lea ecx, [ecx]
movzx ecx, byte [edx + eax]
mov dword [esp + edx*4 + 0x38], ecx
inc edx
cmp edx, esi
jl 0x100655c0
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
xor edx, edx
cmp esi, 0xa
setle dl
mov esi, dword [esp + 0x150]
shl eax, 8
or eax, dword [esp + 0x4c]
shl ecx, 8
or ecx, dword [esp + 0x3c]
shl eax, 8
or eax, dword [esp + 0x50]
mov dword [esi + 0x80], edx
mov esi, dword [esp + 0x68]
shl eax, 8
or eax, dword [esp + 0x54]
shl ecx, 8
or ecx, dword [esp + 0x40]
mov dword [esp + 0x7c], eax
mov eax, dword [edi*4 + 0x100e0c78]
xor eax, dword [ebp*4 + 0x100e1478]
shl esi, 8
xor eax, dword [ebx*4 + 0x100e0878]
or esi, ebx
mov edx, dword [esp + 0x58]
shl ecx, 8
or ecx, dword [esp + 0x44]
shl esi, 8
or esi, ebp
shl esi, 8
or esi, edi
mov edi, dword [esp + 0x68]
xor eax, dword [edi*4 + 0x100e1078]
mov edi, dword [esp + 0x58]
xor eax, dword [edi*4 + 0x100e1078]
shl edx, 8
or edx, dword [esp + 0x5c]
xor eax, ecx
mov ebx, eax
shr ebx, 0x10
movzx ebp, al
and ebx, 0xff
mov ecx, dword [ebx*4 + 0x100e1078]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx*4 + 0x100e1478]
xor ecx, dword [ebp*4 + 0x100e1478]
mov edi, eax
shl edx, 8
or edx, dword [esp + 0x60]
shr edi, 8
mov dword [esp + 0x28], eax
shr eax, 0x18
and edi, 0xff
xor ecx, dword [edi*4 + 0x100e0c78]
shl edx, 8
xor ecx, dword [eax*4 + 0x100e0878]
or edx, dword [esp + 0x64]
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x98], ebp
xor ecx, edx
mov ebp, ecx
movzx edx, cl
mov dword [esp + 0x8c], eax
mov eax, ecx
mov dword [esp + 0x2c], ecx
shr ecx, 0x18
shr ebp, 0x10
mov dword [esp + 0xa8], edx
shr eax, 8
and ebp, 0xff
mov dword [esp + 0x9c], ecx
mov ecx, dword [ebp*4 + 0x100e1078]
and eax, 0xff
mov edx, dword [eax*4 + 0x100e0c78]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx*4 + 0x100e0878]
mov ecx, dword [esp + 0xa8]
xor edx, dword [ecx*4 + 0x100e0878]
xor edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x9c]
mov ecx, dword [ecx*4 + 0x100e1478]
xor edx, ecx
xor edx, esi
mov esi, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x88], ecx
movzx ecx, dl
mov dword [esp + 0xb8], ecx
mov ecx, edx
shr edx, 0x18
mov dword [esp + 0xac], edx
shr ecx, 8
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x100e0878]
shr esi, 0x10
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xb8]
and esi, 0xff
mov edx, dword [esi*4 + 0x100e0c78]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x64]
mov edx, dword [edx*4 + 0x100e0c78]
xor edx, dword [ecx*4 + 0x100e1078]
mov ecx, dword [esp + 0xac]
xor edx, dword [ecx*4 + 0x100e1478]
xor edx, dword [esp + 0x24]
xor edx, dword [esp + 0x18]
xor edx, dword [esp + 0x7c]
movzx ecx, dl
mov dword [esp + 0x34], edx
mov dword [esp + 0xc8], ecx
mov ecx, edx
shr ecx, 8
and ecx, 0xff
mov dword [esp + 0xc4], ecx
mov ecx, edx
shr edx, 0x18
mov dword [esp + 0xbc], edx
mov edx, dword [eax*4 + 0x100e1478]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], edx
mov edx, dword [eax*4 + 0x100e0878]
mov eax, dword [esp + 0xa8]
xor edx, dword [eax*4 + 0x100e1078]
mov eax, dword [esp + 0x14]
xor edx, dword [edi*4 + 0x100e0878]
mov edi, dword [edi*4 + 0x100e1478]
xor edx, eax
xor edx, dword [esp + 0x18]
shr ecx, 0x10
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0xb8]
mov edx, dword [edx*4 + 0x100e0c78]
xor edx, dword [esp + 0x24]
and ecx, 0xff
xor edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x20]
xor edx, dword [esp + 0x88]
mov dword [esp + 0xd0], edx
mov edx, dword [ecx*4 + 0x100e0c78]
mov ecx, dword [esp + 0xbc]
xor edx, dword [ecx*4 + 0x100e0878]
xor edx, dword [esi*4 + 0x100e1078]
mov esi, dword [esp + 0x98]
xor edx, dword [esi*4 + 0x100e1078]
mov esi, dword [esp + 0xc8]
xor edx, edi
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0xc4]
mov edx, dword [edx*4 + 0x100e0878]
xor edx, dword [esi*4 + 0x100e0c78]
mov esi, dword [esp + 0x9c]
xor edx, dword [ecx*4 + 0x100e1478]
mov ecx, dword [esp + 0x8c]
xor edx, dword [ecx*4 + 0x100e1478]
xor edx, dword [esp + 0x10]
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0xa8]
mov edx, dword [edx*4 + 0x100e0c78]
xor edx, dword [ebp*4 + 0x100e0878]
xor edx, dword [esi*4 + 0x100e1078]
xor edx, dword [ecx*4 + 0x100e1078]
xor edx, eax
xor edx, dword [esp + 0x30]
mov eax, edx
shr eax, 8
and eax, 0xff
mov ecx, dword [eax*4 + 0x100e0c78]
movzx esi, dl
mov ebp, edx
mov dword [esp + 0x78], edx
shr edx, 0x18
mov eax, dword [edx*4 + 0x100e0878]
shr ebp, 0x10
and ebp, 0xff
xor eax, dword [ebp*4 + 0x100e1078]
mov dword [esp + 0x14], ecx
xor eax, dword [esi*4 + 0x100e1478]
mov dword [esp + 0x44], esi
xor eax, ecx
xor eax, edi
xor eax, dword [esp + 0x28]
mov dword [esp + 0x38], edx
movzx esi, al
mov ecx, eax
mov edx, eax
mov dword [esp + 0x7c], eax
shr eax, 0x18
mov edi, eax
mov eax, dword [ebx*4 + 0x100e0878]
xor eax, dword [edi*4 + 0x100e1478]
shr ecx, 8
shr edx, 0x10
and edx, 0xff
xor eax, dword [edx*4 + 0x100e1078]
and ecx, 0xff
xor eax, dword [esp + 0x2c]
mov ecx, dword [ecx*4 + 0x100e0c78]
xor eax, ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], esi
mov esi, dword [esi*4 + 0x100e0878]
xor eax, esi
movzx edi, al
mov esi, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], ecx
mov ecx, eax
shr eax, 0x18
mov ebx, eax
mov eax, dword [edi*4 + 0x100e1078]
shr esi, 0x10
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x98]
and esi, 0xff
xor eax, dword [esi*4 + 0x100e0c78]
shr ecx, 8
and ecx, 0xff
xor eax, dword [ecx*4 + 0x100e0878]
mov dword [esp + 0x58], ebx
xor eax, dword [edi*4 + 0x100e0c78]
xor eax, dword [ebx*4 + 0x100e1478]
xor eax, dword [esp + 0x34]
movzx edi, al
mov dword [esp + 0x74], edi
mov edi, eax
shr edi, 8
and edi, 0xff
mov dword [esp + 0x84], eax
mov dword [esp + 0x70], edi
mov edi, eax
shr eax, 0x18
mov eax, dword [eax*4 + 0x100e1078]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax*4 + 0x100e0878]
xor eax, dword [ebx*4 + 0x100e0878]
shr edi, 0x10
and edi, 0xff
xor eax, dword [edi*4 + 0x100e1478]
xor eax, dword [esp + 0x14]
xor eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax*4 + 0x100e0c78]
xor eax, dword [ebp*4 + 0x100e0878]
xor eax, dword [edi*4 + 0x100e0c78]
xor eax, dword [ebx*4 + 0x100e1078]
mov ebx, dword [esp + 0x74]
xor eax, dword [ebx*4 + 0x100e1478]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x58]
mov ebp, dword [eax*4 + 0x100e1078]
mov eax, dword [esp + 0x44]
mov eax, dword [eax*4 + 0x100e1078]
xor eax, dword [esi*4 + 0x100e1478]
xor eax, ebp
xor eax, dword [esp + 0x18]
xor eax, dword [ebx*4 + 0x100e0878]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax*4 + 0x100e1478]
xor eax, dword [ecx*4 + 0x100e1078]
xor eax, dword [ebx*4 + 0x100e0c78]
xor eax, dword [edx*4 + 0x100e0878]
mov edx, dword [esp + 0x54]
xor eax, dword [edx*4 + 0x100e1478]
mov edx, dword [esp + 0x70]
mov dword [esp + 0xe8], eax
mov eax, dword [edi*4 + 0x100e0878]
xor eax, dword [edx*4 + 0x100e1478]
mov edx, dword [esp + 0x74]
xor eax, dword [edx*4 + 0x100e0c78]
xor eax, ebp
xor eax, dword [esp + 0x10]
xor eax, dword [esp + 0x78]
mov edx, eax
movzx ebx, al
mov edi, eax
mov dword [esp + 0x28], eax
shr eax, 0x18
mov ebp, eax
shr edx, 8
and edx, 0xff
mov eax, dword [edx*4 + 0x100e0c78]
mov dword [esp + 0x10], eax
mov eax, dword [ecx*4 + 0x100e1478]
xor eax, dword [ebx*4 + 0x100e1478]
shr edi, 0x10
and edi, 0xff
xor eax, dword [edi*4 + 0x100e1078]
mov dword [esp + 0x98], ebx
xor eax, dword [ebp*4 + 0x100e0878]
mov dword [esp + 0x8c], ebp
xor eax, dword [esp + 0x10]
xor eax, dword [esp + 0x80]
mov ebx, eax
movzx ecx, al
mov ebp, eax
mov dword [esp + 0x2c], eax
shr eax, 0x18
mov dword [esp + 0x9c], eax
shr ebx, 8
and ebx, 0xff
mov eax, dword [ebx*4 + 0x100e0c78]
mov dword [esp + 0x1c], eax
mov eax, dword [esi*4 + 0x100e0878]
mov esi, dword [esp + 0x9c]
shr ebp, 0x10
and ebp, 0xff
xor eax, dword [ebp*4 + 0x100e1078]
mov dword [esp + 0xa8], ecx
xor eax, dword [esi*4 + 0x100e1478]
mov ecx, dword [ecx*4 + 0x100e0878]
xor eax, ecx
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x84]
mov dword [esp + 0x30], eax
movzx esi, al
mov ecx, eax
shr ecx, 8
and ecx, 0xff
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], ecx
mov ecx, eax
shr eax, 0x18
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax*4 + 0x100e0c78]
xor eax, dword [esi*4 + 0x100e1078]
mov esi, dword [esp + 0xb4]
xor eax, dword [esi*4 + 0x100e0878]
mov esi, dword [esp + 0xac]
shr ecx, 0x10
and ecx, 0xff
xor eax, dword [ecx*4 + 0x100e0c78]
mov edi, dword [edi*4 + 0x100e0878]
xor eax, dword [esi*4 + 0x100e1478]
mov ebp, dword [ebp*4 + 0x100e0878]
xor eax, dword [esp + 0x7c]
mov ebx, dword [ebx*4 + 0x100e1478]
movzx esi, al
mov dword [esp + 0xc8], esi
mov esi, eax
shr esi, 8
and esi, 0xff
mov dword [esp + 0x34], eax
mov dword [esp + 0xc4], esi
mov esi, eax
shr eax, 0x18
mov dword [esp + 0xbc], eax
shr esi, 0x10
and esi, 0xff
mov esi, dword [esi*4 + 0x100e1478]
xor esi, dword [eax*4 + 0x100e1078]
mov eax, dword [esp + 0x98]
xor esi, dword [ecx*4 + 0x100e0878]
mov ecx, dword [ecx*4 + 0x100e1478]
xor esi, dword [eax*4 + 0x100e0878]
mov eax, dword [esp + 0xc4]
mov eax, dword [eax*4 + 0x100e1078]
xor esi, dword [esp + 0x10]
mov dword [esp + 0xec], esi
mov esi, dword [esp + 0xc8]
xor eax, dword [esi*4 + 0x100e1478]
mov esi, dword [esp + 0xbc]
xor eax, dword [esi*4 + 0x100e0c78]
mov esi, dword [esp + 0x8c]
xor eax, dword [esi*4 + 0x100e0c78]
xor eax, edi
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xac]
xor ecx, dword [eax*4 + 0x100e1078]
mov eax, dword [esp + 0xa8]
xor ecx, dword [edx*4 + 0x100e1078]
xor ecx, dword [eax*4 + 0x100e0878]
xor ecx, dword [esp + 0x1c]
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx*4 + 0x100e1478]
mov ecx, dword [esp + 0xb4]
xor eax, dword [ecx*4 + 0x100e1078]
mov ecx, dword [esp + 0x9c]
xor eax, dword [ecx*4 + 0x100e0c78]
xor eax, ebp
xor eax, ebx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xa8]
mov eax, dword [eax*4 + 0x100e0c78]
xor eax, dword [ecx*4 + 0x100e1078]
xor eax, dword [esi*4 + 0x100e1078]
xor eax, ebp
xor eax, ebx
xor eax, dword [esp + 0x30]
movzx ebx, al
mov esi, eax
shr esi, 8
mov dword [esp + 0x78], eax
mov dword [esp + 0x44], ebx
and esi, 0xff
mov ecx, eax
shr eax, 0x18
mov dword [esp + 0x38], eax
mov eax, dword [eax*4 + 0x100e0878]
xor eax, dword [esi*4 + 0x100e0c78]
shr ecx, 0x10
xor eax, dword [ebx*4 + 0x100e1478]
and ecx, 0xff
xor eax, dword [edx*4 + 0x100e1478]
mov ecx, dword [ecx*4 + 0x100e1078]
xor eax, ecx
xor eax, dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov edx, eax
movzx ebx, al
mov ecx, eax
mov dword [esp + 0x7c], eax
shr eax, 0x18
mov ebp, dword [eax*4 + 0x100e1478]
shr edx, 8
and edx, 0xff
mov eax, dword [edx*4 + 0x100e0c78]
xor eax, dword [ebx*4 + 0x100e0878]
shr ecx, 0x10
xor eax, dword [esp + 0x2c]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x100e1078]
xor eax, ebp
xor eax, ecx
xor eax, edi
mov edi, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x20], ecx
movzx ecx, al
mov dword [esp + 0x54], ebx
mov ebx, eax
shr eax, 0x18
shr edi, 8
and edi, 0xff
mov dword [esp + 0x10], ebp
mov ebp, eax
mov eax, dword [edi*4 + 0x100e0878]
mov dword [esp + 0x18], eax
mov dword [esp + 0x64], ecx
shr ebx, 0x10
and ebx, 0xff
mov eax, dword [ebx*4 + 0x100e0c78]
mov dword [esp + 0x14], eax
mov eax, dword [ecx*4 + 0x100e1078]
mov ecx, dword [esp + 0x98]
xor eax, dword [ecx*4 + 0x100e0c78]
xor eax, dword [ebp*4 + 0x100e1478]
xor eax, dword [esp + 0x34]
xor eax, dword [esp + 0x14]
xor eax, dword [esp + 0x18]
movzx ecx, al
mov dword [esp + 0x74], ecx
mov ecx, eax
shr ecx, 8
mov dword [esp + 0x84], eax
and ecx, 0xff
mov dword [esp + 0x70], ecx
mov ecx, eax
shr eax, 0x18
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax*4 + 0x100e0878]
xor eax, dword [ebp*4 + 0x100e0878]
shr ecx, 0x10
xor eax, dword [edx*4 + 0x100e1478]
mov edx, dword [esp + 0x54]
xor eax, dword [edx*4 + 0x100e1078]
mov edx, dword [edx*4 + 0x100e0c78]
xor eax, dword [esp + 0x14]
and ecx, 0xff
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax*4 + 0x100e0c78]
xor edx, eax
xor edx, dword [esp + 0x18]
mov dword [esp + 0x88], eax
xor edx, dword [esp + 0x10]
mov eax, dword [esi*4 + 0x100e1478]
xor edx, dword [esp + 0x20]
mov ebp, dword [ebp*4 + 0x100e1078]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x44]
xor eax, dword [edx*4 + 0x100e1078]
mov edx, dword [esp + 0x68]
xor eax, dword [edx*4 + 0x100e0878]
xor eax, dword [ecx*4 + 0x100e0c78]
xor eax, ebp
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x74]
mov edx, dword [eax*4 + 0x100e0c78]
mov eax, dword [esp + 0x38]
mov eax, dword [eax*4 + 0x100e1478]
xor eax, dword [ecx*4 + 0x100e1478]
xor eax, dword [esi*4 + 0x100e0878]
xor eax, dword [esp + 0x24]
xor eax, edx
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax*4 + 0x100e1078]
xor eax, dword [ecx*4 + 0x100e0878]
xor eax, dword [esi*4 + 0x100e1478]
xor eax, ebp
xor eax, edx
xor eax, dword [esp + 0x78]
mov ebp, eax
movzx ecx, al
mov esi, eax
mov dword [esp + 0x28], eax
shr eax, 0x18
mov edx, eax
shr ebp, 0x10
and ebp, 0xff
mov eax, dword [ebp*4 + 0x100e1078]
mov dword [esp + 0x10], eax
mov eax, dword [edi*4 + 0x100e1478]
xor eax, dword [ecx*4 + 0x100e1478]
shr esi, 8
and esi, 0xff
xor eax, dword [esi*4 + 0x100e0c78]
mov dword [esp + 0x98], ecx
xor eax, dword [edx*4 + 0x100e0878]
mov dword [esp + 0x8c], edx
xor eax, dword [esp + 0x10]
xor eax, dword [esp + 0x80]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0xa0], ecx
mov ecx, dword [ecx*4 + 0x100e1078]
mov edi, eax
mov dword [esp + 0x20], ecx
shr edi, 8
movzx edx, al
and edi, 0xff
mov ecx, dword [edi*4 + 0x100e0c78]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx*4 + 0x100e0878]
xor ecx, dword [edx*4 + 0x100e0878]
mov dword [esp + 0x2c], eax
xor ecx, dword [esp + 0x1c]
shr eax, 0x18
xor ecx, dword [esp + 0x20]
mov dword [esp + 0x9c], eax
mov eax, dword [eax*4 + 0x100e1478]
xor ecx, eax
xor ecx, dword [esp + 0x84]
mov dword [esp + 0xa8], edx
mov edx, ecx
movzx eax, cl
shr edx, 8
mov ebx, ecx
shr ebx, 0x10
and edx, 0xff
mov dword [esp + 0x30], ecx
mov dword [esp + 0xb8], eax
and ebx, 0xff
mov edx, dword [edx*4 + 0x100e0878]
shr ecx, 0x18
mov dword [esp + 0xac], ecx
mov ecx, dword [ebx*4 + 0x100e0c78]
mov dword [esp + 0x24], edx
mov edx, dword [eax*4 + 0x100e1078]
mov eax, dword [esp + 0xac]
xor edx, dword [eax*4 + 0x100e1478]
mov dword [esp + 0x18], ecx
xor edx, dword [esp + 0x88]
xor edx, dword [esp + 0x24]
xor edx, ecx
xor edx, dword [esp + 0x7c]
movzx ecx, dl
mov dword [esp + 0xc8], ecx
mov ecx, edx
mov eax, edx
mov dword [esp + 0x34], edx
shr edx, 0x18
mov dword [esp + 0xbc], edx
mov edx, dword [edi*4 + 0x100e1478]
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xac]
mov edx, dword [edx*4 + 0x100e0878]
xor edx, dword [edi*4 + 0x100e1078]
shr eax, 0x10
xor edx, dword [esi*4 + 0x100e0878]
mov esi, dword [esi*4 + 0x100e1478]
xor edx, dword [esp + 0x14]
and eax, 0xff
xor edx, dword [esp + 0x18]
shr ecx, 8
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0xb8]
mov edi, dword [edx*4 + 0x100e0c78]
xor edi, dword [esp + 0x24]
mov edx, dword [esp + 0x9c]
xor edi, dword [esp + 0x1c]
and ecx, 0xff
xor edi, dword [esp + 0x20]
mov ecx, dword [ecx*4 + 0x100e0878]
xor edi, dword [edx*4 + 0x100e1478]
mov dword [esp + 0x110], edi
mov edi, dword [eax*4 + 0x100e0c78]
mov eax, dword [esp + 0xbc]
xor edi, dword [eax*4 + 0x100e0878]
xor edi, dword [ebx*4 + 0x100e1078]
mov ebx, dword [esp + 0x98]
xor edi, dword [ebx*4 + 0x100e1078]
xor edi, esi
mov dword [esp + 0x114], edi
mov edi, dword [esp + 0xc8]
xor ecx, dword [edi*4 + 0x100e0c78]
mov edi, dword [esp + 0xa0]
xor ecx, dword [eax*4 + 0x100e1478]
mov eax, dword [esp + 0x8c]
xor ecx, dword [eax*4 + 0x100e1478]
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx*4 + 0x100e0c78]
xor ecx, dword [edi*4 + 0x100e0878]
xor ecx, dword [edx*4 + 0x100e1078]
xor ecx, dword [eax*4 + 0x100e1078]
xor ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x30]
mov eax, ecx
shr eax, 8
mov ebx, ecx
and eax, 0xff
mov edx, dword [eax*4 + 0x100e0c78]
shr ebx, 0x10
movzx edi, cl
mov dword [esp + 0x78], ecx
and ebx, 0xff
shr ecx, 0x18
mov eax, dword [ecx*4 + 0x100e0878]
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], edx
xor eax, dword [ebx*4 + 0x100e1078]
xor eax, dword [edi*4 + 0x100e1478]
xor eax, edx
xor eax, esi
xor eax, dword [esp + 0x28]
movzx esi, al
mov edx, eax
mov ecx, eax
mov dword [esp + 0x7c], eax
shr eax, 0x18
mov edi, eax
mov eax, dword [ebp*4 + 0x100e0878]
xor eax, dword [edi*4 + 0x100e1478]
shr edx, 8
shr ecx, 0x10
and ecx, 0xff
xor eax, dword [ecx*4 + 0x100e1078]
and edx, 0xff
xor eax, dword [esp + 0x2c]
mov edx, dword [edx*4 + 0x100e0c78]
xor eax, edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], esi
mov esi, dword [esi*4 + 0x100e0878]
xor eax, esi
movzx edi, al
mov esi, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], edx
mov edx, eax
shr eax, 0x18
mov ebp, eax
mov eax, dword [edi*4 + 0x100e1078]
shr esi, 0x10
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x98]
and esi, 0xff
xor eax, dword [esi*4 + 0x100e0c78]
shr edx, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x100e0878]
mov dword [esp + 0x58], ebp
xor eax, dword [edi*4 + 0x100e0c78]
xor eax, dword [ebp*4 + 0x100e1478]
xor eax, dword [esp + 0x34]
movzx edi, al
mov dword [esp + 0x84], eax
mov dword [esp + 0x74], edi
mov edi, eax
shr edi, 8
and edi, 0xff
mov dword [esp + 0x70], edi
mov edi, eax
shr eax, 0x18
mov eax, dword [eax*4 + 0x100e1078]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax*4 + 0x100e0878]
xor eax, dword [ebp*4 + 0x100e0878]
shr edi, 0x10
and edi, 0xff
xor eax, dword [edi*4 + 0x100e1478]
xor eax, dword [esp + 0x14]
xor eax, dword [esp + 0x10]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax*4 + 0x100e0c78]
xor eax, dword [ebx*4 + 0x100e0878]
mov ebx, dword [esp + 0x70]
xor eax, dword [edi*4 + 0x100e0c78]
xor eax, dword [ebx*4 + 0x100e1078]
mov ebx, dword [esp + 0x74]
xor eax, dword [ebx*4 + 0x100e1478]
mov dword [esp + 0x120], eax
mov eax, ebp
mov ebx, dword [eax*4 + 0x100e1078]
mov eax, dword [esp + 0x44]
mov eax, dword [eax*4 + 0x100e1078]
xor eax, dword [esi*4 + 0x100e1478]
xor eax, ebx
xor eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x54]
xor eax, dword [ebp*4 + 0x100e0878]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax*4 + 0x100e1478]
xor eax, dword [edx*4 + 0x100e1078]
xor eax, dword [ebp*4 + 0x100e0c78]
xor eax, dword [ecx*4 + 0x100e0878]
mov ecx, dword [esp + 0x54]
xor eax, dword [ecx*4 + 0x100e1478]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x128], eax
mov eax, dword [edi*4 + 0x100e0878]
xor eax, dword [ecx*4 + 0x100e1478]
mov ecx, dword [esp + 0x74]
xor eax, dword [ecx*4 + 0x100e0c78]
xor eax, ebx
xor eax, dword [esp + 0x10]
xor eax, dword [esp + 0x78]
mov ecx, eax
movzx ebx, al
mov edi, eax
mov dword [esp + 0x28], eax
shr eax, 0x18
mov ebp, eax
shr ecx, 8
and ecx, 0xff
mov eax, dword [ecx*4 + 0x100e0c78]
mov dword [esp + 0x10], eax
mov eax, dword [edx*4 + 0x100e1478]
xor eax, dword [ebx*4 + 0x100e1478]
shr edi, 0x10
and edi, 0xff
xor eax, dword [edi*4 + 0x100e1078]
mov dword [esp + 0x98], ebx
xor eax, dword [ebp*4 + 0x100e0878]
mov dword [esp + 0x8c], ebp
xor eax, dword [esp + 0x10]
xor eax, dword [esp + 0x80]
mov ebx, eax
movzx edx, al
mov ebp, eax
mov dword [esp + 0x2c], eax
shr eax, 0x18
mov dword [esp + 0x9c], eax
shr ebx, 8
and ebx, 0xff
mov eax, dword [ebx*4 + 0x100e0c78]
mov dword [esp + 0x1c], eax
mov eax, dword [esi*4 + 0x100e0878]
mov esi, dword [esp + 0x9c]
shr ebp, 0x10
mov dword [esp + 0xa8], edx
mov edx, dword [edx*4 + 0x100e0878]
and ebp, 0xff
xor eax, dword [ebp*4 + 0x100e1078]
xor eax, dword [esi*4 + 0x100e1478]
xor eax, edx
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x84]
mov edx, eax
shr edx, 8
movzx esi, al
and edx, 0xff
mov dword [esp + 0x30], eax
mov dword [esp + 0xb4], edx
mov edx, eax
shr eax, 0x18
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax*4 + 0x100e0c78]
xor eax, dword [esi*4 + 0x100e1078]
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0xb4]
xor eax, dword [esi*4 + 0x100e0878]
mov esi, dword [esp + 0xac]
shr edx, 0x10
and edx, 0xff
xor eax, dword [edx*4 + 0x100e0c78]
xor eax, dword [esi*4 + 0x100e1478]
xor eax, dword [esp + 0x7c]
mov edi, dword [edi*4 + 0x100e0878]
movzx esi, al
mov dword [esp + 0xc8], esi
mov esi, eax
mov dword [esp + 0x34], eax
shr esi, 8
and esi, 0xff
mov dword [esp + 0xc4], esi
mov esi, eax
shr eax, 0x18
mov dword [esp + 0xbc], eax
shr esi, 0x10
and esi, 0xff
mov esi, dword [esi*4 + 0x100e1478]
xor esi, dword [eax*4 + 0x100e1078]
mov eax, dword [esp + 0x98]
xor esi, dword [edx*4 + 0x100e0878]
mov edx, dword [edx*4 + 0x100e1478]
xor esi, dword [eax*4 + 0x100e0878]
mov eax, dword [esp + 0xc4]
mov eax, dword [eax*4 + 0x100e1078]
xor esi, dword [esp + 0x10]
mov ebp, dword [ebp*4 + 0x100e0878]
mov dword [esp + 0x12c], esi
mov esi, dword [esp + 0xc8]
xor eax, dword [esi*4 + 0x100e1478]
mov esi, dword [esp + 0xbc]
xor eax, dword [esi*4 + 0x100e0c78]
mov esi, dword [esp + 0x8c]
xor eax, dword [esi*4 + 0x100e0c78]
mov ebx, dword [ebx*4 + 0x100e1478]
xor eax, edi
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0xac]
xor edx, dword [eax*4 + 0x100e1078]
mov eax, dword [esp + 0xa8]
xor edx, dword [ecx*4 + 0x100e1078]
xor edx, dword [eax*4 + 0x100e0878]
xor edx, dword [esp + 0x1c]
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0xb8]
mov eax, dword [edx*4 + 0x100e1478]
mov edx, dword [esp + 0xb4]
xor eax, dword [edx*4 + 0x100e1078]
mov edx, dword [esp + 0x9c]
xor eax, dword [edx*4 + 0x100e0c78]
xor eax, ebp
xor eax, ebx
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xa8]
mov eax, dword [eax*4 + 0x100e0c78]
xor eax, dword [edx*4 + 0x100e1078]
xor eax, dword [esi*4 + 0x100e1078]
xor eax, ebp
xor eax, ebx
xor eax, dword [esp + 0x30]
mov edx, eax
mov esi, eax
movzx ebp, al
shr eax, 0x18
mov dword [esp + 0x38], eax
mov eax, dword [eax*4 + 0x100e0878]
shr edx, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x100e0c78]
shr esi, 0x10
xor eax, dword [ebp*4 + 0x100e1478]
and esi, 0xff
xor eax, dword [ecx*4 + 0x100e1478]
mov esi, dword [esi*4 + 0x100e1078]
xor eax, esi
xor eax, dword [esp + 0x28]
mov dword [esp + 0x24], esi
mov ecx, eax
movzx ebx, al
shr ecx, 8
mov esi, eax
and ecx, 0xff
mov dword [esp + 0x54], ebx
shr esi, 0x10
shr eax, 0x18
mov eax, dword [eax*4 + 0x100e1478]
mov dword [esp + 0x10], eax
mov eax, dword [ecx*4 + 0x100e0c78]
xor eax, dword [ebx*4 + 0x100e0878]
and esi, 0xff
xor eax, dword [esp + 0x2c]
mov esi, dword [esi*4 + 0x100e1078]
xor eax, dword [esp + 0x10]
mov dword [esp + 0x20], esi
xor eax, esi
xor eax, edi
movzx ebx, al
mov esi, eax
mov edi, eax
shr eax, 0x18
mov dword [esp + 0x58], eax
mov eax, dword [ebx*4 + 0x100e1078]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x98]
xor eax, dword [ebx*4 + 0x100e0c78]
mov ebx, dword [esp + 0x58]
xor eax, dword [ebx*4 + 0x100e1478]
shr esi, 8
xor eax, dword [esp + 0x34]
shr edi, 0x10
and esi, 0xff
mov esi, dword [esi*4 + 0x100e0878]
and edi, 0xff
mov edi, dword [edi*4 + 0x100e0c78]
xor eax, edi
xor eax, esi
mov ebx, eax
mov dword [esp + 0x18], esi
movzx esi, al
mov dword [esp + 0x74], esi
mov esi, eax
shr eax, 0x18
mov dword [esp + 0x68], eax
mov eax, dword [ebp*4 + 0x100e0878]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x58]
xor eax, dword [edi*4 + 0x100e0878]
shr esi, 0x10
xor eax, dword [ecx*4 + 0x100e1478]
and esi, 0xff
mov ecx, eax
mov eax, dword [esp + 0x54]
xor ecx, dword [eax*4 + 0x100e1078]
shr ebx, 8
xor ecx, dword [esp + 0x14]
and ebx, 0xff
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx*4 + 0x100e0c78]
xor ecx, dword [eax*4 + 0x100e0c78]
mov eax, dword [esp + 0x68]
xor ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x20]
mov dword [esp + 0x140], ecx
mov ecx, dword [eax*4 + 0x100e0878]
xor ecx, dword [edx*4 + 0x100e1478]
mov edx, dword [esp + 0x74]
xor ecx, dword [ebp*4 + 0x100e1078]
mov eax, dword [edx*4 + 0x100e0c78]
xor ecx, dword [edi*4 + 0x100e1078]
xor eax, dword [ebx*4 + 0x100e0878]
xor ecx, dword [esi*4 + 0x100e0c78]
pop edi
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x34]
xor eax, dword [ecx*4 + 0x100e1478]
xor eax, dword [esi*4 + 0x100e1478]
pop esi
xor eax, dword [esp + 0x1c]
pop ebp
mov dword [esp + 0x13c], eax
xor eax, eax
pop ebx
lea esp, [esp]
mov edx, dword [esp + eax*4 + 0xbc]
mov ecx, dword [esp + 0x140]
mov dword [ecx + eax*8], edx
mov edx, dword [esp + eax*4 + 0xfc]
sub edx, 0x10
and edx, 0x1f
mov dword [ecx + eax*8 + 4], edx
inc eax
cmp eax, 0x10
jl 0x100668e0
add esp, 0x13c
ret