Function at 0x100d7920
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Hash data using sha256

Disassembly:
sub esp, 0x268
mov eax, dword [0x1026d48c]
xor eax, esp
mov dword [esp + 0x264], eax
push ebx
mov dl, 0xf
push ebp
mov bl, 0xe
mov eax, ecx
mov cl, 1
push esi
push edi
mov dword [esp + 0xe0], eax
mov byte [esp + 0x1b4], 0
mov byte [esp + 0x1b5], cl
mov byte [esp + 0x1b6], 2
mov byte [esp + 0x1b7], 3
mov byte [esp + 0x1b8], 4
mov byte [esp + 0x1b9], 5
mov byte [esp + 0x1ba], 6
mov byte [esp + 0x1bb], 7
mov byte [esp + 0x1bc], 8
mov byte [esp + 0x1bd], 9
mov byte [esp + 0x1be], 0xa
mov byte [esp + 0x1bf], 0xb
mov byte [esp + 0x1c0], 0xc
mov byte [esp + 0x1c1], 0xd
mov byte [esp + 0x1c2], bl
mov byte [esp + 0x1c3], dl
mov byte [esp + 0x1c4], bl
mov byte [esp + 0x1c5], 0xa
mov byte [esp + 0x1c6], 4
mov byte [esp + 0x1c7], 8
mov byte [esp + 0x1c8], 9
mov byte [esp + 0x1c9], dl
mov byte [esp + 0x1ca], 0xd
mov byte [esp + 0x1cb], 6
mov byte [esp + 0x1cc], cl
mov byte [esp + 0x1cd], 0xc
mov byte [esp + 0x1ce], 0
mov byte [esp + 0x1cf], 2
mov byte [esp + 0x1d0], 0xb
mov byte [esp + 0x1d1], 7
mov byte [esp + 0x1d2], 5
mov byte [esp + 0x1d3], 3
mov byte [esp + 0x1d4], 0xb
mov byte [esp + 0x1d5], 8
mov byte [esp + 0x1d6], 0xc
mov byte [esp + 0x1d7], 0
mov byte [esp + 0x1d8], 5
mov byte [esp + 0x1d9], 2
mov byte [esp + 0x1da], dl
mov byte [esp + 0x1db], 0xd
mov byte [esp + 0x1dc], 0xa
mov byte [esp + 0x1dd], bl
mov byte [esp + 0x1de], 3
mov byte [esp + 0x1df], 6
mov byte [esp + 0x1e0], 7
mov byte [esp + 0x1e1], cl
mov byte [esp + 0x1e2], 9
mov byte [esp + 0x1e3], 4
mov byte [esp + 0x1e4], 7
mov byte [esp + 0x1e5], 9
mov byte [esp + 0x1e6], 3
mov byte [esp + 0x1e7], cl
mov byte [esp + 0x1e8], 0xd
mov byte [esp + 0x1e9], 0xc
mov byte [esp + 0x1ea], 0xb
mov byte [esp + 0x1eb], bl
mov byte [esp + 0x1ec], 2
mov byte [esp + 0x1ed], 6
mov byte [esp + 0x1ee], 5
mov byte [esp + 0x1ef], 0xa
mov byte [esp + 0x1f0], 4
mov byte [esp + 0x1f1], 0
mov byte [esp + 0x1f2], dl
mov byte [esp + 0x1f3], 8
mov byte [esp + 0x1f4], 9
mov byte [esp + 0x1f5], 0
mov byte [esp + 0x1f6], 5
mov byte [esp + 0x1f7], 7
mov byte [esp + 0x1f8], 2
mov byte [esp + 0x1f9], 4
mov byte [esp + 0x1fa], 0xa
mov byte [esp + 0x1fb], dl
mov byte [esp + 0x1fc], bl
mov byte [esp + 0x1fd], cl
mov byte [esp + 0x1fe], 0xb
mov byte [esp + 0x1ff], 0xc
mov byte [esp + 0x200], 6
mov byte [esp + 0x201], 8
mov byte [esp + 0x202], 3
mov byte [esp + 0x203], 0xd
mov byte [esp + 0x204], 2
mov byte [esp + 0x205], 0xc
mov byte [esp + 0x206], 6
mov byte [esp + 0x207], 0xa
mov byte [esp + 0x208], 0
mov byte [esp + 0x209], 0xb
mov byte [esp + 0x20a], 8
mov byte [esp + 0x20b], 3
mov byte [esp + 0x20c], 4
mov byte [esp + 0x20d], 0xd
mov byte [esp + 0x20e], 7
mov byte [esp + 0x20f], 5
mov byte [esp + 0x210], dl
mov byte [esp + 0x211], bl
mov byte [esp + 0x212], cl
mov byte [esp + 0x213], 9
mov byte [esp + 0x214], 0xc
mov byte [esp + 0x215], 5
mov byte [esp + 0x216], cl
mov byte [esp + 0x217], dl
mov byte [esp + 0x218], bl
mov byte [esp + 0x219], 0xd
mov byte [esp + 0x21a], 4
mov byte [esp + 0x21b], 0xa
mov byte [esp + 0x21c], 0
mov byte [esp + 0x21d], 7
mov byte [esp + 0x21e], 6
mov byte [esp + 0x21f], 3
mov byte [esp + 0x220], 9
mov byte [esp + 0x221], 2
mov byte [esp + 0x222], 8
mov byte [esp + 0x223], 0xb
mov byte [esp + 0x224], 0xd
mov byte [esp + 0x225], 0xb
mov byte [esp + 0x226], 7
mov byte [esp + 0x227], bl
mov byte [esp + 0x228], 0xc
mov byte [esp + 0x229], cl
mov byte [esp + 0x22a], 3
mov byte [esp + 0x22b], 9
mov byte [esp + 0x22c], 5
mov byte [esp + 0x22d], 0
mov byte [esp + 0x22e], dl
mov byte [esp + 0x22f], 4
mov byte [esp + 0x230], 8
mov byte [esp + 0x231], 6
mov byte [esp + 0x232], 2
mov byte [esp + 0x233], 0xa
mov byte [esp + 0x234], 6
mov byte [esp + 0x235], dl
mov byte [esp + 0x236], bl
mov byte [esp + 0x237], 9
mov byte [esp + 0x238], 0xb
mov byte [esp + 0x239], 3
mov byte [esp + 0x23a], 0
mov byte [esp + 0x23b], 8
mov byte [esp + 0x23c], 0xc
mov byte [esp + 0x23d], 2
mov byte [esp + 0x23e], 0xd
mov byte [esp + 0x23f], 7
mov byte [esp + 0x240], cl
mov byte [esp + 0x241], 4
mov byte [esp + 0x242], 0xa
mov byte [esp + 0x243], 5
mov byte [esp + 0x244], 0xa
mov byte [esp + 0x245], 2
mov byte [esp + 0x246], 8
mov byte [esp + 0x247], 4
mov byte [esp + 0x248], 7
mov byte [esp + 0x249], 6
mov byte [esp + 0x24a], cl
mov byte [esp + 0x24b], 5
mov byte [esp + 0x24c], dl
mov byte [esp + 0x263], dl
mov byte [esp + 0x269], dl
mov edx, dword [eax + 0x90]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x98]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0xa0]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0xa4]
mov edi, dword [eax + 0x88]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 0xa8]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0xac]
mov dword [esp + 0x48], edx
mov edx, dword [eax + 0xb0]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0xb4]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0xb8]
mov byte [esp + 0x255], cl
mov byte [esp + 0x26c], cl
mov ecx, dword [eax + 0x8c]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0xbc]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x94]
mov dword [esp + 0x58], edx
mov edx, dword [eax + 0xc0]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x9c]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0xc4]
mov dword [esp + 0x38], ecx
mov byte [esp + 0x24d], 0xb
mov byte [esp + 0x24e], 9
mov byte [esp + 0x24f], bl
mov byte [esp + 0x250], 3
mov byte [esp + 0x251], 0xc
mov byte [esp + 0x252], 0xd
mov byte [esp + 0x253], 0
mov byte [esp + 0x254], 0
mov byte [esp + 0x256], 2
mov byte [esp + 0x257], 3
mov byte [esp + 0x258], 4
mov byte [esp + 0x259], 5
mov byte [esp + 0x25a], 6
mov byte [esp + 0x25b], 7
mov byte [esp + 0x25c], 8
mov byte [esp + 0x25d], 9
mov byte [esp + 0x25e], 0xa
mov byte [esp + 0x25f], 0xb
mov byte [esp + 0x260], 0xc
mov byte [esp + 0x261], 0xd
mov byte [esp + 0x262], bl
mov byte [esp + 0x264], bl
mov byte [esp + 0x265], 0xa
mov byte [esp + 0x266], 4
mov byte [esp + 0x267], 8
mov byte [esp + 0x268], 9
mov byte [esp + 0x26a], 0xd
mov byte [esp + 0x26b], 6
mov byte [esp + 0x26d], 0xc
mov byte [esp + 0x26e], 0
mov byte [esp + 0x26f], 2
mov byte [esp + 0x270], 0xb
mov byte [esp + 0x271], 7
mov byte [esp + 0x272], 5
mov byte [esp + 0x273], 3
mov dword [esp + 0x64], 0xf3bcc908
mov dword [esp + 0x68], 0x6a09e667
mov dword [esp + 0x6c], 0x84caa73b
mov dword [esp + 0x70], 0xbb67ae85
mov ecx, 0xfe94f82b
mov esi, 0x3c6ef372
mov dword [esp + 0x7c], 0x5f1d36f1
mov dword [esp + 0x80], 0xa54ff53a
mov dword [esp + 0x94], 0xfb41bd6b
mov dword [esp + 0x98], 0x1f83d9ab
mov dword [esp + 0x60], edx
mov dword [esp + 0x9c], 0x137e2179
mov edx, dword [eax + 0xc8]
xor edx, 0xade682d1
mov dword [esp + 0x84], edx
mov edx, dword [eax + 0xcc]
xor edx, 0x510e527f
mov dword [esp + 0x88], edx
mov edx, dword [eax + 0xd0]
xor edx, 0x2b3e6c1f
mov dword [esp + 0x8c], edx
mov edx, dword [eax + 0xd4]
xor edx, 0x9b05688c
cmp byte [esp + 0x27c], 0
mov dword [esp + 0xa0], 0x5be0cd19
mov dword [esp + 0x90], edx
je 0x100d8094
mov dword [esp + 0x94], 0x4be4294
mov dword [esp + 0x98], 0xe07c2654
lea edx, [esp + 0xe6]
sub edx, eax
mov dword [esp + 0xa8], edx
lea edx, [esp + 0xee]
lea ebx, [eax + 0xe]
sub edx, eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], edx
movzx eax, byte [ebx + 1]
cdq
shld edx, eax, 8
shl eax, 8
mov ebp, eax
mov eax, edx
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx]
cdq
xor ebp, eax
mov eax, dword [esp + 0x1c]
xor eax, edx
shld eax, ebp, 8
mov ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 1]
cdq
xor ebx, edx
mov edx, dword [esp + 0x10]
shl ebp, 8
xor ebp, eax
movzx eax, byte [edx - 2]
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 3]
xor ebx, edx
shld ebx, ebp, 8
cdq
xor ebx, edx
mov edx, dword [esp + 0x10]
shl ebp, 8
xor ebp, eax
movzx eax, byte [edx - 4]
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 5]
xor ebx, edx
shld ebx, ebp, 8
cdq
xor ebx, edx
mov edx, dword [esp + 0x10]
shl ebp, 8
xor ebp, eax
movzx eax, byte [edx - 6]
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + eax*8 + 0xe4], ebp
xor ebx, edx
mov dword [esp + eax*8 + 0xe8], ebx
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 9]
cdq
shld edx, eax, 8
shl eax, 8
mov ebp, eax
mov eax, edx
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + 8]
cdq
xor ebp, eax
mov eax, dword [esp + 0x1c]
xor eax, edx
shld eax, ebp, 8
mov ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 7]
shl ebp, 8
cdq
xor ebp, eax
xor ebx, edx
shld ebx, ebp, 8
shl ebp, 8
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 6]
cdq
xor ebp, eax
xor ebx, edx
shld ebx, ebp, 8
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 5]
cdq
xor ebx, edx
mov edx, dword [esp + 0x10]
shl ebp, 8
xor ebp, eax
movzx eax, byte [edx + 4]
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 3]
xor ebx, edx
shld ebx, ebp, 8
cdq
xor ebx, edx
mov edx, dword [esp + 0x10]
shl ebp, 8
xor ebp, eax
movzx eax, byte [edx + 2]
shld ebx, ebp, 8
cdq
xor ebx, edx
shl ebp, 8
xor ebp, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + eax*8 + 0xec], ebp
mov dword [esp + eax*8 + 0xf0], ebx
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x11]
cdq
shld edx, eax, 8
shl eax, 8
mov ebp, eax
mov eax, edx
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + 0x10]
cdq
xor ebp, eax
mov eax, dword [esp + 0x1c]
xor eax, edx
shld eax, ebp, 8
mov ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0xf]
cdq
shl ebp, 8
xor ebp, eax
xor ebx, edx
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xe]
shld ebx, ebp, 8
shl ebp, 8
cdq
xor ebp, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0xd]
xor ebx, edx
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
xor ebx, edx
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xc]
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
mov eax, dword [esp + 0x10]
xor ebx, edx
shld ebx, ebp, 8
shl ebp, 8
movzx eax, byte [eax + 0xb]
cdq
xor ebp, eax
xor ebx, edx
shld ebx, ebp, 8
mov edx, dword [esp + 0x10]
shl ebp, 8
mov eax, ebx
mov dword [esp + 0x1c], eax
movzx eax, byte [edx + 0xa]
cdq
xor ebp, eax
mov eax, ebx
xor eax, edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa8]
mov dword [eax + ebx], ebp
mov ebp, dword [esp + 0x1c]
mov dword [eax + ebx + 4], ebp
movzx eax, byte [ebx + 0x19]
cdq
shld edx, eax, 8
shl eax, 8
mov ebp, eax
mov eax, edx
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + 0x18]
cdq
xor ebp, eax
mov eax, dword [esp + 0x1c]
xor eax, edx
shld eax, ebp, 8
mov ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x17]
cdq
xor ebx, edx
mov edx, dword [esp + 0x10]
shl ebp, 8
xor ebp, eax
movzx eax, byte [edx + 0x16]
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x15]
xor ebx, edx
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
xor ebx, edx
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0x14]
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x13]
xor ebx, edx
shld ebx, ebp, 8
cdq
shl ebp, 8
xor ebp, eax
xor ebx, edx
mov edx, dword [esp + 0x10]
shld ebx, ebp, 8
mov eax, ebx
mov dword [esp + 0x1c], eax
movzx eax, byte [edx + 0x12]
cdq
shl ebp, 8
xor ebp, eax
mov eax, ebx
mov ebx, dword [esp + 0x10]
xor eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [eax + ebx], ebp
mov ebp, dword [esp + 0x1c]
mov dword [eax + ebx + 4], ebp
mov eax, dword [esp + 0xa4]
add eax, 4
add ebx, 0x20
cmp eax, 0x10
mov dword [esp + 0xa4], eax
mov dword [esp + 0x10], ebx
jl 0x100d80c3
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x1b5]
mov dword [esp + 0xa4], 0xc
jmp 0x100d83e4
mov edi, dword [esp + 0x24]
movzx edx, byte [eax - 1]
mov ebp, dword [esp + edx*8 + 0xe4]
mov edx, dword [esp + edx*8 + 0xe8]
add ebp, dword [esp + 0x44]
mov dword [esp + 0xa8], 0
adc edx, ebx
mov ebx, dword [esp + 0x28]
add edi, ebp
adc ebx, edx
mov dword [esp + 0x28], ebx
xor ebp, ebp
mov edx, edi
xor edx, dword [esp + 0x84]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x164], edx
mov edx, ebx
xor edx, dword [esp + 0x88]
xor ebx, ebx
xor ebx, dword [esp + 0x164]
xor edx, ebp
mov ebp, dword [esp + 0x64]
add ebp, edx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x68]
adc edx, ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x68], edx
xor edx, dword [esp + 0x48]
mov ebx, ebp
xor ebx, dword [esp + 0x44]
mov dword [esp + 0x64], ebp
mov dword [esp + 0xac], ebx
shl dword [esp + 0xac], 8
shrd ebx, edx, 0x18
shr edx, 0x18
mov ebp, edx
mov edx, dword [esp + 0xa8]
xor edx, ebx
mov ebx, dword [esp + 0xac]
xor ebx, ebp
movzx ebp, byte [eax]
mov ebp, dword [esp + ebp*8 + 0xe4]
add ebp, edx
mov dword [esp + 0x44], edx
movzx edx, byte [eax]
mov edx, dword [esp + edx*8 + 0xe8]
adc edx, ebx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x28]
add edi, ebp
mov ebp, dword [esp + 0x18]
adc edx, ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x28], edx
xor edx, dword [esp + 0x88]
mov ebx, edi
xor ebx, dword [esp + 0x84]
mov dword [esp + 0x198], 0
mov dword [esp + 0x20], ebx
shl dword [esp + 0x20], 0x10
shrd ebx, edx, 0x10
shr edx, 0x10
mov ebp, edx
mov edx, dword [esp + 0x1c]
xor edx, ebx
mov ebx, dword [esp + 0x20]
xor ebx, ebp
mov ebp, dword [esp + 0x64]
add ebp, edx
adc dword [esp + 0x68], ebx
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x68]
xor ebx, dword [esp + 0x48]
mov dword [esp + 0x84], edx
mov edx, ebp
xor edx, dword [esp + 0x44]
mov dword [esp + 0x64], ebp
mov ebp, ebx
shr ebp, 0x1f
shld ebx, edx, 1
add edx, edx
xor ebp, edx
mov edx, dword [esp + 0x198]
xor edx, ebx
mov dword [esp + 0x48], edx
movzx edx, byte [eax + 1]
mov ebx, dword [esp + edx*8 + 0xe4]
add ebx, dword [esp + 0x4c]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + edx*8 + 0xe8]
adc ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x2c]
add edx, ebx
mov ebx, dword [esp + 0x30]
adc ebx, ebp
mov dword [esp + 0x2c], edx
xor edx, dword [esp + 0x8c]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1a4], edx
mov edx, ebx
xor edx, dword [esp + 0x90]
xor ebx, ebx
xor ebx, dword [esp + 0x1a4]
xor ebp, ebp
xor edx, ebp
mov ebp, dword [esp + 0x6c]
add ebp, edx
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x70]
adc edx, ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x70], edx
xor edx, dword [esp + 0x50]
mov ebx, ebp
xor ebx, dword [esp + 0x4c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x14], ebx
shl dword [esp + 0x14], 8
shrd ebx, edx, 0x18
shr edx, 0x18
mov ebp, edx
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
xor edx, ebx
mov ebx, dword [esp + 0x14]
xor ebx, ebp
movzx ebp, byte [eax + 2]
mov ebp, dword [esp + ebp*8 + 0xe4]
add ebp, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 2]
mov edx, dword [esp + edx*8 + 0xe8]
adc edx, ebx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x2c]
add ebx, ebp
mov ebp, dword [esp + 0x18]
adc edx, ebp
mov dword [esp + 0x30], edx
xor edx, dword [esp + 0x90]
mov dword [esp + 0x2c], ebx
xor ebx, dword [esp + 0x8c]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], ebx
shl dword [esp + 0xb4], 0x10
shrd ebx, edx, 0x10
shr edx, 0x10
mov ebp, edx
mov edx, dword [esp + 0xb0]
xor edx, ebx
mov ebx, dword [esp + 0xb4]
xor ebx, ebp
mov ebp, dword [esp + 0x6c]
add ebp, edx
adc dword [esp + 0x70], ebx
mov dword [esp + 0x8c], edx
mov edx, ebp
xor edx, dword [esp + 0x4c]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x6c], ebp
mov ebx, dword [esp + 0x70]
xor ebx, dword [esp + 0x50]
mov dword [esp + 0x1b0], 0
mov ebp, ebx
shld ebx, edx, 1
add edx, edx
shr ebp, 0x1f
xor ebp, edx
mov edx, dword [esp + 0x1b0]
xor edx, ebx
mov dword [esp + 0x50], edx
movzx edx, byte [eax + 3]
mov ebx, dword [esp + edx*8 + 0xe4]
add ebx, dword [esp + 0x54]
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + edx*8 + 0xe8]
adc ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x34]
add edx, ebx
mov ebx, dword [esp + 0x38]
adc ebx, ebp
mov dword [esp + 0x34], edx
xor edx, dword [esp + 0x94]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x17c], edx
mov edx, ebx
xor edx, dword [esp + 0x98]
xor ebx, ebx
xor ebx, dword [esp + 0x17c]
xor ebp, ebp
xor edx, ebp
add ecx, edx
adc esi, ebx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ebx
mov ebx, ecx
xor ebx, dword [esp + 0x54]
mov edx, esi
xor edx, dword [esp + 0x58]
mov dword [esp + 0xc4], ebx
shl dword [esp + 0xc4], 8
shrd ebx, edx, 0x18
shr edx, 0x18
mov dword [esp + 0xc0], ebp
mov ebp, edx
mov edx, dword [esp + 0xc0]
xor edx, ebx
mov ebx, dword [esp + 0xc4]
xor ebx, ebp
movzx ebp, byte [eax + 4]
mov ebp, dword [esp + ebp*8 + 0xe4]
add ebp, edx
mov dword [esp + 0x54], edx
movzx edx, byte [eax + 4]
mov edx, dword [esp + edx*8 + 0xe8]
adc edx, ebx
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x34]
add ebx, ebp
mov ebp, edx
mov edx, dword [esp + 0x38]
adc edx, ebp
mov dword [esp + 0x34], ebx
xor ebx, dword [esp + 0x94]
mov dword [esp + 0x38], edx
xor edx, dword [esp + 0x98]
mov dword [esp + 0xd4], ebx
shl dword [esp + 0xd4], 0x10
shrd ebx, edx, 0x10
shr edx, 0x10
mov ebp, edx
mov dword [esp + 0xd0], 0
mov edx, dword [esp + 0xd0]
xor edx, ebx
mov ebx, dword [esp + 0xd4]
xor ebx, ebp
add ecx, edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ebx
adc esi, ebx
mov ebx, esi
xor ebx, dword [esp + 0x58]
mov edx, ecx
xor edx, dword [esp + 0x54]
mov ebp, ebx
shld ebx, edx, 1
add edx, edx
shr ebp, 0x1f
xor ebp, edx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x1a0], 0
mov edx, dword [esp + 0x1a0]
xor edx, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x58], edx
movzx edx, byte [eax + 5]
mov ebp, dword [esp + edx*8 + 0xe4]
add ebp, dword [esp + 0x5c]
mov edx, dword [esp + edx*8 + 0xe8]
adc edx, dword [esp + 0x60]
add ebx, ebp
mov ebp, dword [esp + 0x40]
adc ebp, edx
mov edx, dword [esp + 0x9c]
xor edx, ebx
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0xa0]
xor edx, ebp
mov dword [esp + 0x40], ebp
xor ebp, ebp
xor edx, ebp
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x3c], ebx
xor ebx, ebx
xor ebx, dword [esp + 0xd8]
add ebp, edx
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x80]
adc edx, ebx
mov dword [esp + 0xa0], ebx
mov ebx, ebp
xor ebx, dword [esp + 0x5c]
mov dword [esp + 0x80], edx
xor edx, dword [esp + 0x60]
mov dword [esp + 0xcc], ebx
shl dword [esp + 0xcc], 8
shrd ebx, edx, 0x18
shr edx, 0x18
mov dword [esp + 0x7c], ebp
mov ebp, edx
mov dword [esp + 0xc8], 0
mov edx, dword [esp + 0xc8]
xor edx, ebx
mov ebx, dword [esp + 0xcc]
xor ebx, ebp
movzx ebp, byte [eax + 6]
mov ebp, dword [esp + ebp*8 + 0xe4]
add ebp, edx
mov dword [esp + 0x5c], edx
movzx edx, byte [eax + 6]
mov edx, dword [esp + edx*8 + 0xe8]
adc edx, ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x3c]
add ebx, ebp
mov ebp, dword [esp + 0x40]
adc ebp, edx
mov edx, dword [esp + 0x9c]
xor edx, ebx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0xa0]
xor ebx, ebp
mov dword [esp + 0x40], ebp
mov ebp, edx
shl ebp, 0x10
mov dword [esp + 0xd8], edx
mov dword [esp + 0x190], ebp
mov ebp, dword [esp + 0xd8]
xor edx, edx
shrd ebp, ebx, 0x10
shr ebx, 0x10
xor edx, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x190]
xor ebx, ebp
mov ebp, dword [esp + 0x7c]
add ebp, edx
adc dword [esp + 0x80], ebx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x80]
xor ebx, dword [esp + 0x60]
mov edx, ebp
xor edx, dword [esp + 0x5c]
mov dword [esp + 0x7c], ebp
mov ebp, ebx
shld ebx, edx, 1
add edx, edx
shr ebp, 0x1f
xor ebp, edx
mov dword [esp + 0x170], 0
mov edx, dword [esp + 0x170]
xor edx, ebx
mov dword [esp + 0x60], edx
movzx edx, byte [eax + 7]
mov ebx, dword [esp + edx*8 + 0xe4]
add ebx, dword [esp + 0x4c]
mov edx, dword [esp + edx*8 + 0xe8]
adc edx, dword [esp + 0x50]
add edi, ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x28]
adc ebp, edx
mov edx, dword [esp + 0x9c]
xor edx, edi
xor ebx, ebp
mov dword [esp + 0x174], edx
xor edx, edx
xor edx, dword [esp + 0x174]
mov dword [esp + 0x28], ebp
xor ebp, ebp
xor ebx, ebp
add ecx, ebx
adc esi, edx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], ebx
mov ebx, ecx
xor ebx, dword [esp + 0x4c]
mov edx, esi
xor edx, dword [esp + 0x50]
mov dword [esp + 0xbc], ebx
shl dword [esp + 0xbc], 8
shrd ebx, edx, 0x18
shr edx, 0x18
mov dword [esp + 0xb8], ebp
mov ebp, edx
mov edx, dword [esp + 0xb8]
xor edx, ebx
mov ebx, dword [esp + 0xbc]
xor ebx, ebp
movzx ebp, byte [eax + 8]
mov ebp, dword [esp + ebp*8 + 0xe4]
add ebp, edx
mov dword [esp + 0x4c], edx
movzx edx, byte [eax + 8]
mov edx, dword [esp + edx*8 + 0xe8]
adc edx, ebx
add edi, ebp
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x28]
adc ebx, edx
mov edx, dword [esp + 0x9c]
xor edx, edi
mov dword [esp + 0x24], edi
mov edi, edx
mov edx, dword [esp + 0xa0]
xor edx, ebx
mov dword [esp + 0x28], ebx
mov ebx, edi
xor ebp, ebp
shrd edi, edx, 0x10
xor ebp, edi
shr edx, 0x10
shl ebx, 0x10
xor ebx, edx
mov edi, ebx
mov edx, ebp
add ecx, edx
adc esi, edi
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], edi
xor ebp, ebp
mov edi, esi
xor edi, dword [esp + 0x50]
mov edx, ecx
xor edx, dword [esp + 0x4c]
mov ebx, edi
shld edi, edx, 1
add edx, edx
xor ebp, edi
shr ebx, 0x1f
xor ebx, edx
movzx edx, byte [eax + 9]
mov edi, dword [esp + edx*8 + 0xe4]
add edi, dword [esp + 0x54]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + edx*8 + 0xe8]
adc ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
add ebx, edi
adc edx, ebp
mov dword [esp + 0x30], edx
xor edx, dword [esp + 0x88]
mov dword [esp + 0x2c], ebx
xor ebx, dword [esp + 0x84]
xor edi, edi
xor edi, ebx
mov ebx, dword [esp + 0x7c]
xor ebp, ebp
xor edx, ebp
add ebx, edx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x80]
adc edx, edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x80], edx
xor edx, dword [esp + 0x58]
mov edi, ebx
xor edi, dword [esp + 0x54]
mov dword [esp + 0x7c], ebx
mov ebx, edi
shrd edi, edx, 0x18
shr edx, 0x18
shl ebx, 8
xor ebx, edx
movzx edx, byte [eax + 0xa]
xor ebp, edi
mov edi, dword [esp + edx*8 + 0xe4]
add edi, ebp
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + edx*8 + 0xe8]
mov edx, dword [esp + 0x18]
adc ebp, ebx
add edi, edx
mov edx, dword [esp + 0x30]
adc edx, ebp
mov dword [esp + 0x2c], edi
xor edi, dword [esp + 0x84]
mov dword [esp + 0x30], edx
xor edx, dword [esp + 0x88]
mov dword [esp + 0x58], ebx
mov ebx, edi
shrd edi, edx, 0x10
xor ebp, ebp
shl ebx, 0x10
shr edx, 0x10
xor ebp, edi
xor ebx, edx
mov edx, dword [esp + 0x7c]
mov edi, ebp
add edx, edi
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x80]
adc edi, ebx
mov dword [esp + 0x80], edi
xor edi, dword [esp + 0x58]
mov dword [esp + 0x7c], edx
xor edx, dword [esp + 0x54]
mov dword [esp + 0x88], ebx
mov ebx, edi
shld edi, edx, 1
add edx, edx
shr ebx, 0x1f
xor ebx, edx
movzx edx, byte [eax + 0xb]
xor ebp, ebp
xor ebp, edi
mov edi, dword [esp + edx*8 + 0xe4]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x5c]
add edi, ebx
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + edx*8 + 0xe8]
adc ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
add edx, edi
mov edi, dword [esp + 0x38]
adc edi, ebp
mov dword [esp + 0x34], edx
xor edx, dword [esp + 0x8c]
mov dword [esp + 0x38], edi
xor edi, dword [esp + 0x90]
mov dword [esp + 0x184], edx
xor edx, edx
xor edx, dword [esp + 0x184]
xor ebp, ebp
xor edi, ebp
mov ebp, dword [esp + 0x64]
add ebp, edi
adc dword [esp + 0x68], edx
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x60]
xor edi, dword [esp + 0x68]
xor ebx, ebp
mov dword [esp + 0x90], edx
mov edx, ebx
shrd ebx, edi, 0x18
shl edx, 8
shr edi, 0x18
xor edx, edi
movzx edi, byte [eax + 0xc]
mov dword [esp + 0x64], ebp
xor ebp, ebp
xor ebp, ebx
mov ebx, dword [esp + edi*8 + 0xe4]
mov edi, dword [esp + edi*8 + 0xe8]
add ebx, ebp
adc edi, edx
mov dword [esp + 0x60], edx
mov edx, ebx
mov ebx, dword [esp + 0x34]
add ebx, edx
mov edx, dword [esp + 0x38]
adc edx, edi
mov dword [esp + 0x34], ebx
xor ebx, dword [esp + 0x8c]
mov dword [esp + 0x38], edx
xor edx, dword [esp + 0x90]
mov edi, ebx
shrd ebx, edx, 0x10
mov dword [esp + 0x5c], ebp
xor ebp, ebp
shr edx, 0x10
shl edi, 0x10
xor ebp, ebx
xor edi, edx
mov edx, ebp
mov ebx, dword [esp + 0x68]
mov ebp, edi
mov edi, dword [esp + 0x64]
add edi, edx
adc ebx, ebp
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x5c]
xor edx, edi
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x60]
xor edi, ebx
mov dword [esp + 0x68], ebx
mov ebx, edi
shld edi, edx, 1
add edx, edx
shr ebx, 0x1f
xor ebx, edx
movzx edx, byte [eax + 0xd]
mov dword [esp + 0x90], ebp
xor ebp, ebp
xor ebp, edi
mov edi, dword [esp + edx*8 + 0xe4]
add edi, dword [esp + 0x44]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x60], ebp
mov ebp, dword [esp + edx*8 + 0xe8]
adc ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
add ebx, edi
adc edx, ebp
mov dword [esp + 0x40], edx
xor edx, dword [esp + 0x98]
mov dword [esp + 0x3c], ebx
xor ebx, dword [esp + 0x94]
xor edi, edi
xor edi, ebx
mov ebx, dword [esp + 0x6c]
xor ebp, ebp
xor edx, ebp
add ebx, edx
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x70]
adc edx, edi
mov dword [esp + 0x98], edi
mov edi, ebx
xor edi, dword [esp + 0x44]
mov dword [esp + 0x70], edx
xor edx, dword [esp + 0x48]
mov dword [esp + 0x6c], ebx
mov ebx, edi
shrd edi, edx, 0x18
shr edx, 0x18
xor ebp, edi
shl ebx, 8
xor ebx, edx
movzx edx, byte [eax + 0xe]
mov edi, dword [esp + edx*8 + 0xe4]
add edi, ebp
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + edx*8 + 0xe8]
mov edx, dword [esp + 0x18]
adc ebp, ebx
add edi, edx
mov edx, dword [esp + 0x40]
adc edx, ebp
mov dword [esp + 0x3c], edi
xor edi, dword [esp + 0x94]
mov dword [esp + 0x40], edx
xor edx, dword [esp + 0x98]
mov dword [esp + 0x48], ebx
mov ebx, edi
shrd edi, edx, 0x10
xor ebp, ebp
xor ebp, edi
shl ebx, 0x10
shr edx, 0x10
xor ebx, edx
mov edi, ebp
mov edx, dword [esp + 0x6c]
add edx, edi
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x70]
adc edi, ebx
mov dword [esp + 0x6c], edx
xor edx, dword [esp + 0x44]
mov dword [esp + 0x70], edi
xor edi, dword [esp + 0x48]
mov dword [esp + 0x98], ebx
mov ebx, edi
shld edi, edx, 1
shr ebx, 0x1f
add edx, edx
xor ebp, ebp
xor ebx, edx
xor ebp, edi
mov edx, ebx
mov ebx, ebp
add eax, 0x10
sub dword [esp + 0xa4], 1
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ebx
jne 0x100d83e0
mov eax, dword [esp + 0xe0]
xor ecx, dword [esp + 0x34]
mov edi, dword [eax + 0x88]
xor dword [eax + 0x98], ecx
mov ecx, dword [eax + 0xa0]
xor ecx, dword [esp + 0x7c]
xor edi, dword [esp + 0x64]
xor ecx, dword [esp + 0x3c]
xor edi, dword [esp + 0x24]
xor esi, dword [esp + 0x38]
mov ebp, dword [eax + 0x8c]
xor ebp, dword [esp + 0x68]
xor dword [eax + 0x9c], esi
xor ebp, dword [esp + 0x28]
mov esi, dword [eax + 0xa4]
xor esi, dword [esp + 0x80]
mov dword [eax + 0xa0], ecx
mov ecx, dword [eax + 0xa8]
xor ecx, edx
xor ecx, dword [esp + 0x84]
mov edx, dword [eax + 0xac]
xor esi, dword [esp + 0x40]
xor edx, ebx
xor edx, dword [esp + 0x88]
mov dword [eax + 0xa8], ecx
mov ecx, dword [eax + 0xb0]
xor ecx, dword [esp + 0x4c]
mov dword [eax + 0xac], edx
xor ecx, dword [esp + 0x8c]
mov edx, dword [eax + 0xb4]
xor edx, dword [esp + 0x50]
mov dword [eax + 0xb0], ecx
xor edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x94]
mov dword [eax + 0x88], edi
mov edi, dword [eax + 0x90]
xor edi, dword [esp + 0x6c]
xor dword [eax + 0xb8], ecx
xor edi, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc0]
xor ecx, dword [esp + 0x9c]
mov dword [eax + 0xb4], edx
mov edx, dword [esp + 0x58]
xor edx, dword [esp + 0x98]
xor ecx, dword [esp + 0x5c]
xor dword [eax + 0xbc], edx
mov edx, dword [eax + 0xc4]
xor edx, dword [esp + 0xa0]
mov dword [eax + 0x8c], ebp
mov ebp, dword [eax + 0x94]
xor ebp, dword [esp + 0x70]
xor edx, dword [esp + 0x60]
xor ebp, dword [esp + 0x30]
mov dword [eax + 0x90], edi
pop edi
mov dword [eax + 0xa4], esi
pop esi
mov dword [eax + 0x94], ebp
mov dword [eax + 0xc0], ecx
mov ecx, dword [esp + 0x26c]
pop ebp
pop ebx
xor ecx, esp
mov dword [eax + 0xc4], edx
call fcn.1018f87e
add esp, 0x268
ret 4