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

Disassembly:
sub esp, 0xd8
mov eax, dword [0x100a1040]
xor eax, esp
mov dword [esp + 0xd4], eax
cmp dword [esp + 0xe4], 0
mov eax, dword [esp + 0xdc]
push ebx
push ebp
push esi
mov ebx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov ebp, dword [eax]
mov dword [esp + 0x74], eax
push edi
mov edi, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x10], edx
jbe 0x1003ae81
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x7c], ecx
mov esi, dword [esp + 0x7c]
xor ebx, ebx
nop dword [eax]
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
shl ecx, 8
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 8
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 8
add esi, 4
or edx, ecx
mov dword [esp + ebx*4 + 0xa4], edx
inc ebx
cmp ebx, 0x10
jb 0x10039e50
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xac]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], 2
mov ecx, dword [esp + 0x18]
mov edx, ecx
ror ecx, 0xb
ror edx, 0x19
xor edx, ecx
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x10]
and ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x1c]
add edx, ecx
mov ecx, dword [esp + 0x28]
add edx, dword [ecx - 8]
mov ecx, dword [esp + 0x14]
add edx, dword [ecx]
mov ecx, ebp
add eax, edx
ror ecx, 0xd
add esi, eax
mov edx, edi
mov dword [esp + 0x20], esi
xor edx, ebp
and edx, ebx
mov esi, ebp
ror esi, 0x16
xor esi, ecx
mov ecx, ebp
ror ecx, 2
xor esi, ecx
mov ecx, edi
and ecx, ebp
xor edx, ecx
add eax, edx
add eax, esi
mov esi, dword [esp + 0x20]
mov edx, esi
mov ecx, esi
ror ecx, 0xb
ror edx, 0x19
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x18]
and ecx, esi
mov esi, eax
xor ecx, dword [esp + 0x10]
add edx, ecx
ror esi, 0x16
mov ecx, dword [esp + 0x28]
add edx, dword [ecx - 4]
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 4]
mov ecx, dword [esp + 0x1c]
add ecx, edx
mov edx, eax
mov dword [esp + 0x1c], ecx
add ebx, ecx
mov ecx, eax
xor edx, ebp
ror ecx, 0xd
and edx, edi
xor esi, ecx
mov ecx, eax
ror ecx, 2
xor esi, ecx
mov ecx, eax
and ecx, ebp
xor edx, ecx
mov ecx, dword [esp + 0x1c]
add ecx, edx
mov edx, ebx
add ecx, esi
ror edx, 0x19
mov dword [esp + 0x1c], ecx
mov ecx, ebx
ror ecx, 0xb
xor edx, ecx
mov ecx, ebx
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x20]
and ecx, ebx
xor ecx, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 8]
mov ecx, dword [esp + 0x28]
add edx, dword [ecx]
mov ecx, dword [esp + 0x10]
add ecx, edx
mov edx, dword [esp + 0x1c]
add edi, ecx
mov dword [esp + 0x10], ecx
mov esi, edx
mov ecx, edx
ror ecx, 0xd
ror esi, 0x16
xor esi, ecx
mov ecx, edx
ror ecx, 2
mov edx, eax
xor edx, dword [esp + 0x1c]
xor esi, ecx
and edx, ebp
mov ecx, eax
and ecx, dword [esp + 0x1c]
xor edx, ecx
mov ecx, dword [esp + 0x10]
add ecx, edx
mov edx, edi
add ecx, esi
ror edx, 0x19
mov dword [esp + 0x10], ecx
mov ecx, edi
ror ecx, 0xb
xor edx, ecx
mov ecx, edi
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x20]
xor ecx, ebx
and ecx, edi
xor ecx, dword [esp + 0x20]
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
add edx, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
add ecx, edx
mov edx, dword [esp + 0x10]
add ebp, ecx
mov dword [esp + 0x18], ecx
mov esi, edx
mov ecx, edx
ror ecx, 0xd
ror esi, 0x16
xor esi, ecx
mov ecx, edx
ror ecx, 2
xor esi, ecx
mov ecx, dword [esp + 0x1c]
mov edx, ecx
and ecx, dword [esp + 0x10]
xor edx, dword [esp + 0x10]
and edx, eax
xor edx, ecx
mov ecx, dword [esp + 0x18]
add ecx, edx
mov edx, ebp
add ecx, esi
ror edx, 0x19
mov dword [esp + 0x18], ecx
mov ecx, ebp
ror ecx, 0xb
xor edx, ecx
mov ecx, ebp
ror ecx, 6
xor edx, ecx
mov ecx, ebx
xor ecx, edi
and ecx, ebp
xor ecx, ebx
add edx, ecx
mov ecx, dword [esp + 0x28]
add edx, dword [ecx + 8]
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x20]
add ecx, edx
mov edx, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x20], ecx
mov esi, edx
mov ecx, edx
ror ecx, 0xd
ror esi, 0x16
xor esi, ecx
mov ecx, edx
ror ecx, 2
xor esi, ecx
mov ecx, dword [esp + 0x10]
mov edx, ecx
and ecx, dword [esp + 0x18]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
xor edx, ecx
mov ecx, dword [esp + 0x20]
add ecx, edx
mov edx, eax
add ecx, esi
ror edx, 0x19
mov dword [esp + 0x20], ecx
mov ecx, eax
ror ecx, 0xb
xor edx, ecx
mov ecx, eax
ror ecx, 6
xor edx, ecx
mov ecx, edi
xor ecx, ebp
and ecx, eax
xor ecx, edi
add edx, ecx
mov ecx, dword [esp + 0x28]
add edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x14]
add ebx, edx
mov edx, dword [esp + 0x20]
add dword [esp + 0x1c], ebx
mov esi, edx
mov ecx, edx
ror esi, 0x16
ror ecx, 0xd
xor esi, ecx
mov ecx, edx
ror ecx, 2
xor esi, ecx
mov ecx, dword [esp + 0x18]
mov edx, ecx
and ecx, dword [esp + 0x20]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x10]
xor edx, ecx
add ebx, edx
add ebx, esi
mov esi, dword [esp + 0x1c]
mov edx, esi
mov ecx, esi
ror ecx, 0xb
ror edx, 0x19
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, eax
xor ecx, ebp
and ecx, esi
mov esi, ebx
xor ecx, ebp
ror esi, 0x16
add edx, ecx
mov ecx, dword [esp + 0x28]
add edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x18]
mov ecx, ebx
ror ecx, 0xd
add edi, edx
xor esi, ecx
add dword [esp + 0x10], edi
mov ecx, ebx
ror ecx, 2
xor esi, ecx
mov ecx, dword [esp + 0x20]
mov edx, ecx
and ecx, ebx
xor edx, ebx
and edx, dword [esp + 0x18]
xor edx, ecx
add edi, edx
add edi, esi
mov esi, dword [esp + 0x10]
mov edx, esi
mov ecx, esi
ror ecx, 0xb
ror edx, 0x19
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, eax
xor ecx, dword [esp + 0x1c]
and ecx, esi
mov esi, edi
xor ecx, eax
ror esi, 0x16
add edx, ecx
mov ecx, dword [esp + 0x28]
add dword [esp + 0x28], 0x20
add edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x14]
add dword [esp + 0x14], 0x20
add edx, dword [ecx + 0x1c]
mov ecx, edi
ror ecx, 0xd
add ebp, edx
add dword [esp + 0x18], ebp
xor esi, ecx
mov ecx, edi
mov edx, ebx
ror ecx, 2
xor edx, edi
and edx, dword [esp + 0x20]
xor esi, ecx
mov ecx, ebx
and ecx, edi
xor edx, ecx
add ebp, edx
add ebp, esi
sub dword [esp + 0x44], 1
jne 0x10039ea4
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x80], 3
mov dword [esp + 0x60], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], ecx
mov edi, esi
mov ecx, esi
shl ecx, 0xe
mov edx, esi
shl edx, 0x19
shr edi, 0x12
or edi, ecx
mov ecx, esi
shr ecx, 7
or edx, ecx
mov ecx, esi
shr ecx, 3
xor edi, edx
mov edx, dword [esp + 0x54]
xor edi, ecx
add edi, dword [esp + 0x64]
mov esi, edx
mov ecx, edx
shr esi, 0x11
shl ecx, 0xf
or esi, ecx
shr edx, 0x13
mov ecx, dword [esp + 0x54]
shl ecx, 0xd
or edx, ecx
mov ecx, dword [esp + 0x54]
shr ecx, 0xa
xor esi, edx
xor esi, ecx
mov ecx, dword [esp + 0x38]
add esi, edi
mov edi, dword [esp + 0x2c]
add ecx, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x64], ecx
mov edx, esi
mov ecx, esi
ror edx, 0x19
ror ecx, 0xb
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x10]
add edx, dword [esp + 0x64]
and ecx, esi
xor ecx, dword [esp + 0x1c]
mov esi, ebp
add ecx, edx
ror esi, 0x16
mov edx, dword [esp + 0x14]
add ecx, dword [edx]
mov edx, edi
add eax, ecx
xor edx, ebp
add dword [esp + 0x20], eax
mov ecx, ebp
ror ecx, 0xd
and ebx, edx
mov edx, dword [esp + 0x60]
xor esi, ecx
mov ecx, ebp
ror ecx, 2
xor esi, ecx
mov ecx, edi
and ecx, ebp
xor ebx, ecx
mov ecx, edx
add ebx, eax
shl ecx, 0x19
add ebx, esi
mov eax, edx
shl eax, 0xe
mov esi, edx
shr esi, 0x12
or esi, eax
mov dword [esp + 0x6c], ebx
mov eax, edx
shr eax, 7
or ecx, eax
xor esi, ecx
mov eax, edx
mov ecx, dword [esp + 0x5c]
mov edx, ecx
shr eax, 3
xor esi, eax
shr edx, 0x11
add esi, dword [esp + 0x48]
mov eax, ecx
shl eax, 0xf
or edx, eax
shr ecx, 0x13
mov eax, dword [esp + 0x5c]
shl eax, 0xd
or ecx, eax
mov eax, dword [esp + 0x5c]
xor edx, ecx
shr eax, 0xa
xor edx, eax
add edx, esi
mov esi, dword [esp + 0x1c]
add dword [esp + 0x68], edx
mov edx, dword [esp + 0x20]
mov ecx, edx
ror ecx, 0x19
mov eax, edx
ror eax, 0xb
xor ecx, eax
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x18]
and eax, edx
mov edx, ebx
xor eax, dword [esp + 0x10]
add ecx, eax
ror edx, 0x16
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 4]
mov eax, ebx
add ecx, dword [esp + 0x68]
add esi, ecx
ror eax, 0xd
add dword [esp + 0x24], esi
xor edx, eax
mov ecx, ebx
mov eax, ebx
xor ecx, ebp
ror eax, 2
xor edx, eax
and ecx, edi
and ebp, ebx
xor ebp, ecx
mov ecx, dword [esp + 0x64]
add ebp, esi
mov eax, ecx
ror eax, 0x11
mov esi, ecx
ror esi, 0x13
add ebp, edx
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov edx, ecx
shr eax, 0xa
xor esi, eax
shr edx, 0x12
add esi, dword [esp + 0x74]
mov eax, ecx
shl eax, 0xe
or edx, eax
shl ecx, 0x19
mov eax, dword [esp + 0x34]
shr eax, 7
or ecx, eax
mov eax, dword [esp + 0x34]
xor edx, ecx
shr eax, 3
xor edx, eax
add edx, esi
add dword [esp + 0x60], edx
mov edx, dword [esp + 0x24]
mov ecx, edx
ror ecx, 0x19
mov eax, edx
ror eax, 0xb
xor ecx, eax
mov esi, dword [esp + 0x10]
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0x20]
and eax, edx
mov edx, ebp
xor eax, dword [esp + 0x18]
add ecx, eax
ror edx, 0x16
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 8]
mov eax, ebp
add ecx, dword [esp + 0x60]
ror eax, 0xd
add esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x68]
add edi, esi
mov eax, ebp
ror eax, 2
xor edx, eax
mov dword [esp + 0x2c], edi
mov edi, ebx
mov eax, ebx
and eax, ebp
xor edi, ebp
and edi, dword [esp + 0x30]
xor edi, eax
mov eax, ecx
ror eax, 0x11
add edi, esi
mov esi, ecx
add edi, edx
ror esi, 0x13
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
shr eax, 0xa
xor esi, eax
shr edx, 0x12
add esi, dword [esp + 0x70]
mov eax, ecx
shl eax, 0xe
or edx, eax
shl ecx, 0x19
mov eax, dword [esp + 0x3c]
shr eax, 7
or ecx, eax
mov eax, dword [esp + 0x3c]
shr eax, 3
xor edx, ecx
xor edx, eax
add edx, esi
add dword [esp + 0x34], edx
mov edx, dword [esp + 0x2c]
mov ecx, edx
ror ecx, 0x19
mov eax, edx
ror eax, 0xb
xor ecx, eax
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x24]
and eax, edx
xor eax, dword [esp + 0x20]
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 0xc]
add ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
mov edx, edi
add esi, ecx
ror edx, 0x16
add dword [esp + 0x30], esi
mov eax, edi
ror eax, 0xd
mov ecx, ebp
xor edx, eax
xor ecx, edi
and ebx, ecx
mov eax, edi
ror eax, 2
xor edx, eax
mov ecx, dword [esp + 0x60]
mov eax, ebp
and eax, edi
xor ebx, eax
mov eax, ecx
ror eax, 0x11
add ebx, esi
mov esi, ecx
add ebx, edx
ror esi, 0x13
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x40]
mov edx, ecx
shr eax, 0xa
xor esi, eax
shr edx, 0x12
add esi, dword [esp + 0x44]
mov eax, ecx
shl eax, 0xe
or edx, eax
shl ecx, 0x19
mov eax, dword [esp + 0x40]
shr eax, 7
or ecx, eax
mov eax, dword [esp + 0x40]
shr eax, 3
xor edx, ecx
xor edx, eax
add edx, esi
mov esi, dword [esp + 0x20]
add dword [esp + 0x3c], edx
mov edx, dword [esp + 0x30]
mov ecx, edx
ror ecx, 0x19
mov eax, edx
ror eax, 0xb
xor ecx, eax
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x2c]
and eax, edx
mov edx, ebx
xor eax, dword [esp + 0x24]
add ecx, eax
ror edx, 0x16
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 0x10]
mov eax, ebx
add ecx, dword [esp + 0x3c]
ror eax, 0xd
add esi, ecx
add dword [esp + 0x6c], esi
xor edx, eax
mov eax, ebx
mov ecx, edi
ror eax, 2
xor ecx, ebx
xor edx, eax
and ecx, ebp
mov eax, edi
and eax, ebx
xor eax, ecx
add eax, esi
add eax, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x34]
mov esi, ecx
mov eax, ecx
ror esi, 0x13
ror eax, 0x11
xor esi, eax
mov eax, ecx
shr eax, 0xa
xor esi, eax
mov ecx, dword [esp + 0x4c]
add esi, dword [esp + 0x40]
mov edx, ecx
mov eax, ecx
shr edx, 0x12
shl eax, 0xe
or edx, eax
shl ecx, 0x19
mov eax, dword [esp + 0x4c]
shr eax, 7
or ecx, eax
mov eax, dword [esp + 0x4c]
shr eax, 3
xor edx, ecx
xor edx, eax
mov eax, dword [esp + 0x54]
add edx, esi
mov esi, dword [esp + 0x28]
add eax, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x40], eax
mov ecx, edx
ror ecx, 0x19
mov eax, edx
ror eax, 0xb
xor ecx, eax
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x30]
and eax, edx
mov edx, esi
xor eax, dword [esp + 0x2c]
add ecx, eax
ror edx, 0x16
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 0x14]
add ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x24], eax
add ebp, eax
mov eax, esi
xor ecx, esi
ror eax, 0xd
and ecx, edi
xor edx, eax
mov eax, esi
ror eax, 2
xor edx, eax
mov eax, ebx
and eax, esi
xor eax, ecx
mov ecx, dword [esp + 0x3c]
add eax, dword [esp + 0x24]
mov esi, ecx
add eax, edx
ror esi, 0x13
mov dword [esp + 0x24], eax
mov eax, ecx
ror eax, 0x11
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x50]
mov edx, ecx
shr eax, 0xa
xor esi, eax
shr edx, 0x12
mov eax, ecx
shl eax, 0xe
or edx, eax
shl ecx, 0x19
mov eax, dword [esp + 0x50]
shr eax, 7
or ecx, eax
add esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
xor edx, ecx
shr eax, 3
mov ecx, ebp
xor edx, eax
ror ecx, 0x19
mov eax, ebp
add esi, edx
ror eax, 0xb
xor ecx, eax
add esi, dword [esp + 0x5c]
mov eax, ebp
mov dword [esp + 0x4c], esi
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x6c]
xor eax, dword [esp + 0x30]
and eax, ebp
xor eax, dword [esp + 0x30]
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 0x18]
mov eax, dword [esp + 0x2c]
add ecx, esi
mov esi, dword [esp + 0x24]
add eax, ecx
add edi, eax
mov dword [esp + 0x2c], eax
mov edx, esi
mov dword [esp + 0x10], edi
mov eax, esi
ror edx, 0x16
ror eax, 0xd
xor edx, eax
mov eax, esi
ror eax, 2
xor edx, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
and eax, esi
xor ecx, esi
and ecx, ebx
xor eax, ecx
mov ecx, dword [esp + 0x40]
add eax, dword [esp + 0x2c]
mov esi, ecx
add eax, edx
ror esi, 0x13
mov dword [esp + 0x2c], eax
mov eax, ecx
ror eax, 0x11
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x58]
mov edx, ecx
shr eax, 0xa
xor esi, eax
shr edx, 0x12
add esi, dword [esp + 0x64]
mov eax, ecx
shl eax, 0xe
or edx, eax
shl ecx, 0x19
mov eax, dword [esp + 0x58]
shr eax, 7
or ecx, eax
mov eax, dword [esp + 0x58]
xor edx, ecx
shr eax, 3
xor edx, eax
add edx, esi
mov esi, dword [esp + 0x50]
add esi, edx
mov dword [esp + 0x50], esi
mov ecx, edi
mov eax, edi
ror eax, 0xb
ror ecx, 0x19
xor ecx, eax
mov eax, edi
ror eax, 6
xor ecx, eax
mov eax, dword [esp + 0x6c]
xor eax, ebp
and eax, edi
xor eax, dword [esp + 0x6c]
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 0x1c]
add ecx, esi
mov esi, dword [esp + 0x30]
add esi, ecx
mov ecx, dword [esp + 0x24]
add ebx, esi
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x2c]
xor ecx, ebx
and ecx, dword [esp + 0x28]
mov edx, ebx
ror edx, 0x16
mov eax, ebx
ror eax, 0xd
xor edx, eax
mov eax, ebx
and ebx, dword [esp + 0x24]
ror eax, 2
xor ebx, ecx
mov ecx, dword [esp + 0x4c]
xor edx, eax
mov eax, ecx
add ebx, esi
ror eax, 0x11
mov esi, ecx
ror esi, 0x13
add ebx, edx
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x38]
mov edx, ecx
shr eax, 0xa
xor esi, eax
shr edx, 0x12
add esi, dword [esp + 0x68]
mov eax, ecx
shl eax, 0xe
or edx, eax
shl ecx, 0x19
mov eax, dword [esp + 0x38]
shr eax, 7
or ecx, eax
mov eax, dword [esp + 0x38]
shr eax, 3
xor edx, ecx
xor edx, eax
add edx, esi
mov esi, dword [esp + 0x58]
add esi, edx
mov edx, dword [esp + 0x30]
mov ecx, edx
mov dword [esp + 0x58], esi
ror ecx, 0x19
mov eax, edx
ror eax, 0xb
xor ecx, eax
mov eax, edx
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, edi
and eax, edx
xor eax, ebp
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 0x20]
add ecx, esi
mov esi, dword [esp + 0x6c]
mov edx, ebx
add esi, ecx
ror edx, 0x16
add dword [esp + 0x28], esi
mov eax, ebx
ror eax, 0xd
xor edx, eax
mov eax, ebx
ror eax, 2
xor edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, ebx
xor ecx, ebx
and ecx, dword [esp + 0x24]
xor eax, ecx
add eax, esi
add eax, edx
mov edx, dword [esp + 0x50]
mov edi, edx
mov ecx, edx
ror ecx, 0x11
ror edi, 0x13
xor edi, ecx
mov ecx, edx
mov edx, dword [esp + 0x48]
mov esi, edx
shr ecx, 0xa
xor edi, ecx
shr esi, 0x12
add edi, dword [esp + 0x60]
mov ecx, edx
shl ecx, 0xe
or esi, ecx
shl edx, 0x19
mov ecx, dword [esp + 0x48]
shr ecx, 7
or edx, ecx
mov ecx, dword [esp + 0x48]
shr ecx, 3
xor esi, edx
xor esi, ecx
add esi, edi
mov edi, dword [esp + 0x28]
add dword [esp + 0x38], esi
mov edx, edi
ror edx, 0x19
mov ecx, edi
ror ecx, 0xb
mov esi, eax
xor edx, ecx
ror esi, 0x16
mov ecx, edi
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x30]
and ecx, edi
xor ecx, dword [esp + 0x10]
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x24]
mov ecx, eax
add edx, dword [esp + 0x38]
ror ecx, 0xd
add ebp, edx
add dword [esp + 0x24], ebp
xor esi, ecx
mov ecx, eax
mov edx, eax
ror ecx, 2
xor edx, ebx
and edx, dword [esp + 0x2c]
xor esi, ecx
mov ecx, eax
and ecx, ebx
xor ecx, edx
add ecx, ebp
add ecx, esi
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x58]
mov edi, edx
mov ebp, dword [esp + 0x74]
mov ecx, edx
ror ecx, 0x11
mov esi, ebp
ror edi, 0x13
xor edi, ecx
shr esi, 0x12
mov ecx, edx
mov edx, ebp
shr ecx, 0xa
xor edi, ecx
shl edx, 0x19
add edi, dword [esp + 0x34]
mov ecx, ebp
shl ecx, 0xe
or esi, ecx
mov ecx, ebp
shr ecx, 7
or edx, ecx
mov ecx, ebp
shr ecx, 3
xor esi, edx
xor esi, ecx
mov ebp, dword [esp + 0x10]
add esi, edi
mov edi, dword [esp + 0x48]
add edi, esi
mov esi, dword [esp + 0x24]
mov edx, esi
mov dword [esp + 0x48], edi
ror edx, 0x19
mov ecx, esi
ror ecx, 0xb
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x28]
and ecx, esi
xor ecx, dword [esp + 0x30]
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x28]
add edx, edi
mov edi, dword [esp + 0x1c]
mov esi, edi
mov ecx, edi
ror ecx, 0xd
add ebp, edx
add dword [esp + 0x2c], ebp
mov edx, eax
ror esi, 0x16
xor edx, edi
xor esi, ecx
and edx, ebx
mov ecx, edi
ror ecx, 2
xor esi, ecx
mov ecx, eax
and ecx, edi
xor ecx, edx
mov edx, dword [esp + 0x38]
add ecx, ebp
mov edi, edx
mov ebp, dword [esp + 0x70]
add ecx, esi
mov dword [esp + 0x10], ecx
mov esi, ebp
ror edi, 0x13
mov ecx, edx
ror ecx, 0x11
xor edi, ecx
shr esi, 0x12
mov ecx, edx
shr ecx, 0xa
xor edi, ecx
mov ecx, ebp
shl ecx, 0xe
or esi, ecx
add edi, dword [esp + 0x3c]
mov edx, ebp
mov ecx, ebp
shr ecx, 7
shl edx, 0x19
or edx, ecx
mov ecx, ebp
shr ecx, 3
xor esi, edx
xor esi, ecx
mov ebp, dword [esp + 0x30]
add esi, edi
mov edi, dword [esp + 0x74]
add edi, esi
mov esi, dword [esp + 0x2c]
mov edx, esi
mov dword [esp + 0x74], edi
ror edx, 0x19
mov ecx, esi
ror ecx, 0xb
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x24]
and ecx, esi
xor ecx, dword [esp + 0x28]
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x2c]
add edx, edi
mov edi, dword [esp + 0x10]
mov esi, edi
mov ecx, edi
ror ecx, 0xd
add ebp, edx
ror esi, 0x16
add ebx, ebp
xor esi, ecx
mov ecx, edi
ror ecx, 2
xor esi, ecx
mov ecx, dword [esp + 0x1c]
mov edx, ecx
and ecx, edi
xor edx, edi
and edx, eax
xor ecx, edx
mov edx, dword [esp + 0x48]
add ecx, ebp
mov edi, edx
mov ebp, dword [esp + 0x44]
add ecx, esi
mov dword [esp + 0x18], ecx
mov esi, ebp
mov ecx, edx
ror edi, 0x13
ror ecx, 0x11
xor edi, ecx
shr esi, 0x12
mov ecx, edx
mov edx, ebp
shr ecx, 0xa
xor edi, ecx
shl edx, 0x19
add edi, dword [esp + 0x40]
mov ecx, ebp
shl ecx, 0xe
or esi, ecx
mov ecx, ebp
shr ecx, 7
or edx, ecx
mov ecx, ebp
xor esi, edx
shr ecx, 3
xor esi, ecx
add esi, edi
mov edi, dword [esp + 0x70]
add edi, esi
mov edx, ebx
mov ebp, dword [esp + 0x28]
ror edx, 0x19
mov ecx, ebx
ror ecx, 0xb
xor edx, ecx
mov dword [esp + 0x70], edi
mov ecx, ebx
ror ecx, 6
xor edx, ecx
mov ecx, dword [esp + 0x24]
xor ecx, dword [esp + 0x2c]
and ecx, ebx
xor ecx, dword [esp + 0x24]
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x30]
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, edi
mov ecx, edi
ror ecx, 0xd
add ebp, edx
ror esi, 0x16
add eax, ebp
xor esi, ecx
mov ecx, edi
ror ecx, 2
xor esi, ecx
mov ecx, dword [esp + 0x10]
mov edx, ecx
and ecx, edi
xor edx, edi
and edx, dword [esp + 0x1c]
xor ecx, edx
mov edx, dword [esp + 0x74]
add ecx, ebp
mov edi, edx
add ecx, esi
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x20], ecx
mov esi, ebp
mov ecx, edx
ror edi, 0x13
ror ecx, 0x11
xor edi, ecx
shr esi, 0x12
mov ecx, edx
mov edx, ebp
shr ecx, 0xa
xor edi, ecx
shl edx, 0x19
add edi, dword [esp + 0x4c]
mov ecx, ebp
shl ecx, 0xe
or esi, ecx
mov ecx, ebp
shr ecx, 7
or edx, ecx
mov ecx, ebp
shr ecx, 3
xor esi, edx
xor esi, ecx
mov edx, eax
ror edx, 0x19
mov ecx, eax
ror ecx, 0xb
add esi, edi
mov edi, dword [esp + 0x44]
xor edx, ecx
mov ecx, eax
add edi, esi
ror ecx, 6
xor edx, ecx
mov dword [esp + 0x44], edi
mov ecx, dword [esp + 0x2c]
xor ecx, ebx
and ecx, eax
xor ecx, dword [esp + 0x2c]
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x34]
mov ebp, dword [esp + 0x24]
add edx, edi
mov edi, dword [esp + 0x20]
add ebp, edx
add dword [esp + 0x1c], ebp
mov esi, edi
ror esi, 0x16
mov ecx, edi
ror ecx, 0xd
xor esi, ecx
mov ecx, edi
ror ecx, 2
xor esi, ecx
mov ecx, dword [esp + 0x18]
mov edx, ecx
and ecx, edi
xor edx, edi
and edx, dword [esp + 0x10]
xor ecx, edx
mov edx, dword [esp + 0x70]
add ecx, ebp
mov edi, edx
add ecx, esi
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x24], ecx
mov esi, ebp
mov ecx, edx
ror edi, 0x13
ror ecx, 0x11
xor edi, ecx
shr esi, 0x12
mov ecx, edx
mov edx, ebp
shr ecx, 0xa
xor edi, ecx
shl edx, 0x19
add edi, dword [esp + 0x50]
mov ecx, ebp
shl ecx, 0xe
or esi, ecx
mov ecx, ebp
shr ecx, 7
or edx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x54]
xor esi, edx
shr ecx, 3
xor esi, ecx
add esi, edi
mov edi, dword [esp + 0x24]
add ebp, esi
mov esi, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x54], ebp
mov ecx, esi
ror edx, 0x19
ror ecx, 0xb
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, eax
xor ecx, ebx
and ecx, esi
mov esi, edi
xor ecx, ebx
ror esi, 0x16
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, dword [ecx + 0x38]
mov ecx, edi
ror ecx, 0xd
add edx, ebp
mov ebp, dword [esp + 0x2c]
xor esi, ecx
add ebp, edx
mov ecx, edi
add dword [esp + 0x10], ebp
ror ecx, 2
xor esi, ecx
mov edx, dword [esp + 0x20]
xor edx, edi
and edi, dword [esp + 0x20]
and edx, dword [esp + 0x18]
xor edi, edx
mov edx, dword [esp + 0x44]
add edi, ebp
mov ecx, edx
mov ebp, dword [esp + 0x64]
add edi, esi
ror ecx, 0x11
mov esi, edx
ror esi, 0x13
xor esi, ecx
mov dword [esp + 0x2c], edi
mov ecx, edx
mov edx, ebp
shr ecx, 0xa
xor esi, ecx
ror edx, 0x12
add esi, dword [esp + 0x58]
mov ecx, ebp
ror ecx, 7
xor edx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x5c]
shr ecx, 3
xor edx, ecx
add edx, esi
mov esi, dword [esp + 0x10]
add ebp, edx
mov ecx, esi
ror ecx, 0xb
mov edx, esi
ror edx, 0x19
xor edx, ecx
mov dword [esp + 0x5c], ebp
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, eax
xor ecx, dword [esp + 0x1c]
and ecx, esi
mov esi, edi
xor ecx, eax
ror esi, 0x16
add edx, ecx
mov ecx, dword [esp + 0x14]
add dword [esp + 0x14], 0x40
add edx, dword [ecx + 0x3c]
mov ecx, edi
ror ecx, 0xd
add edx, ebp
xor esi, ecx
add ebx, edx
add dword [esp + 0x18], ebx
mov ecx, edi
ror ecx, 2
xor esi, ecx
mov ecx, dword [esp + 0x24]
mov ebp, ecx
and ecx, edi
xor ebp, edi
and ebp, dword [esp + 0x20]
xor ebp, ecx
add ebp, ebx
mov ebx, dword [esp + 0x24]
add ebp, esi
sub dword [esp + 0x80], 1
mov esi, dword [esp + 0x68]
mov dword [esp + 0x30], ebp
jne 0x1003a2b6
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x94]
add ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x90]
add ebp, dword [esp + 0x84]
add edi, dword [esp + 0x88]
add eax, dword [esp + 0xa0]
mov dword [edx + 0x10], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x78]
mov dword [edx], ebp
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x98]
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x9c]
sub dword [esp + 0xf4], 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x9c], ecx
mov dword [edx + 0x18], ecx
mov dword [esp + 0xa0], eax
mov dword [edx + 0x1c], eax
jne 0x10039e47
mov eax, dword [esp + 0x7c]
jmp 0x1003ae88
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003b025
add esp, 0xd8
ret