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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0xf0], 0x100
ja 0x101243bf
cmp dword [esi + 4], 1
mov eax, dword [esi + 0x4c]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x40]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x18]
mov ebx, dword [esi + 0x48]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x38]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], eax
jl 0x10123d1b
movzx eax, byte [edi + 7]
cdq
xor eax, dword [ebp - 0x34]
xor edx, dword [ebp - 0x38]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor edx, dword [ebp - 0x30]
xor eax, ecx
mov dword [esi + 0x18], eax
mov cl, 0x28
mov dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor eax, dword [ebp - 0x28]
xor edx, dword [ebp - 0x2c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor eax, dword [ebp - 0x20]
xor edx, dword [ebp - 0x24]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor eax, dword [ebp - 0x18]
xor edx, dword [ebp - 0x1c]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor eax, dword [ebp - 0x10]
xor edx, dword [ebp - 0x14]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor eax, dword [ebp - 8]
xor edx, dword [ebp - 0xc]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor edx, dword [ebp - 4]
xor eax, ebx
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 4], 2
jl 0x10123dbd
movzx eax, byte [edi + 7]
mov cl, 0x28
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 4], 3
jl 0x10123e5f
movzx eax, byte [edi + 7]
mov cl, 0x28
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
mov eax, dword [ebp - 4]
xor dword [esi + 0x4c], eax
mov eax, dword [ebp - 8]
xor dword [esi + 0x40], eax
mov eax, dword [ebp - 0xc]
xor dword [esi + 0x44], eax
mov eax, dword [ebp - 0x10]
xor dword [esi + 0x38], eax
mov eax, dword [ebp - 0x14]
xor dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x18]
xor dword [esi + 0x30], eax
mov eax, dword [ebp - 0x1c]
xor dword [esi + 0x34], eax
mov eax, dword [ebp - 0x20]
xor dword [esi + 0x28], eax
mov eax, dword [ebp - 0x24]
xor dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x28]
xor dword [esi + 0x20], eax
mov eax, dword [ebp - 0x2c]
xor dword [esi + 0x24], eax
mov eax, dword [ebp - 0x3c]
xor dword [esi + 0x18], eax
mov eax, dword [ebp - 0x30]
xor dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x34]
xor dword [esi + 0x10], eax
mov eax, dword [ebp - 0x38]
xor dword [esi + 0x14], eax
mov eax, dword [esi + 0x4c]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x40]
xor dword [esi + 0x48], ebx
cmp dword [esi + 4], 4
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x18]
mov ebx, dword [esi + 0x48]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 8], eax
jl 0x10123fe9
movzx eax, byte [edi + 7]
cdq
xor eax, dword [ebp - 0xc]
xor edx, dword [ebp - 8]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor edx, dword [ebp - 0x10]
xor eax, ecx
mov dword [esi + 0x18], eax
mov cl, 0x28
mov dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor eax, dword [ebp - 0x18]
xor edx, dword [ebp - 0x14]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor eax, dword [ebp - 0x20]
xor edx, dword [ebp - 0x1c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor eax, dword [ebp - 0x28]
xor edx, dword [ebp - 0x24]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor eax, dword [ebp - 0x30]
xor edx, dword [ebp - 0x2c]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor eax, dword [ebp - 0x38]
xor edx, dword [ebp - 0x34]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor edx, dword [ebp + 8]
xor eax, ebx
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 4], 5
jl 0x1012408b
movzx eax, byte [edi + 7]
mov cl, 0x28
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 4], 6
jl 0x1012412d
movzx eax, byte [edi + 7]
mov cl, 0x28
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
mov eax, dword [ebp + 8]
xor dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x38]
xor dword [esi + 0x40], eax
mov eax, dword [ebp - 0x34]
xor dword [esi + 0x44], eax
mov eax, dword [ebp - 0x30]
xor dword [esi + 0x38], eax
mov eax, dword [ebp - 0x2c]
xor dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x28]
xor dword [esi + 0x30], eax
mov eax, dword [ebp - 0x24]
xor dword [esi + 0x34], eax
mov eax, dword [ebp - 0x20]
xor dword [esi + 0x28], eax
mov eax, dword [ebp - 0x1c]
xor dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x18]
xor dword [esi + 0x20], eax
mov eax, dword [ebp - 0x14]
xor dword [esi + 0x24], eax
mov eax, dword [ebp - 0x3c]
xor dword [esi + 0x18], eax
mov eax, dword [ebp - 0x10]
xor dword [esi + 0x1c], eax
mov eax, dword [ebp - 0xc]
xor dword [esi + 0x10], eax
mov eax, dword [ebp - 8]
xor dword [esi + 0x14], eax
mov eax, dword [esi + 0x4c]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x40]
xor dword [esi + 0x48], ebx
cmp dword [esi + 4], 7
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x18]
mov ebx, dword [esi + 0x48]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 8], eax
jl 0x101242b7
movzx eax, byte [edi + 7]
cdq
xor eax, dword [ebp - 0xc]
xor edx, dword [ebp - 8]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor edx, dword [ebp - 0x10]
xor eax, ecx
mov dword [esi + 0x18], eax
mov cl, 0x28
mov dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor eax, dword [ebp - 0x18]
xor edx, dword [ebp - 0x14]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor eax, dword [ebp - 0x20]
xor edx, dword [ebp - 0x1c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor eax, dword [ebp - 0x28]
xor edx, dword [ebp - 0x24]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor eax, dword [ebp - 0x30]
xor edx, dword [ebp - 0x2c]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor eax, dword [ebp - 0x38]
xor edx, dword [ebp - 0x34]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor edx, dword [ebp + 8]
xor eax, ebx
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 4], 8
jl 0x10124356
movzx eax, byte [edi + 7]
mov cl, 0x28
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 4], 9
jl 0x10124363
mov ecx, esi
call fcn.10123330
mov eax, dword [ebp + 8]
xor dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x38]
xor dword [esi + 0x40], eax
mov eax, dword [ebp - 0x34]
xor dword [esi + 0x44], eax
mov eax, dword [ebp - 0x30]
xor dword [esi + 0x38], eax
mov eax, dword [ebp - 0x2c]
xor dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x28]
xor dword [esi + 0x30], eax
mov eax, dword [ebp - 0x24]
xor dword [esi + 0x34], eax
mov eax, dword [ebp - 0x20]
xor dword [esi + 0x28], eax
mov eax, dword [ebp - 0x1c]
xor dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x18]
xor dword [esi + 0x20], eax
mov eax, dword [ebp - 0x14]
xor dword [esi + 0x24], eax
mov eax, dword [ebp - 0x3c]
xor dword [esi + 0x18], eax
mov eax, dword [ebp - 0x10]
xor dword [esi + 0x1c], eax
xor dword [esi + 0x48], ebx
mov eax, dword [ebp - 0xc]
xor dword [esi + 0x10], eax
jmp 0x10124bbf
cmp dword [esi + 8], 1
mov eax, dword [esi + 0x48]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x10]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
jl 0x101244d1
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x64]
add ecx, ebx
adc eax, edx
xor dword [esi + 0x58], ecx
xor dword [esi + 0x5c], eax
mov cl, 0x28
movzx eax, byte [edi + 7]
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 8], 2
jl 0x10124585
mov ecx, dword [esi + 0x68]
add ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x6c]
adc eax, dword [esi + 0x14]
xor dword [esi + 0x64], eax
xor dword [esi + 0x60], ecx
mov cl, 0x28
movzx eax, byte [edi + 7]
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 8], 3
jl 0x10124639
mov ecx, dword [esi + 0x70]
add ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x74]
adc eax, dword [esi + 0x14]
xor dword [esi + 0x6c], eax
xor dword [esi + 0x68], ecx
mov cl, 0x28
movzx eax, byte [edi + 7]
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
mov eax, dword [ebp - 0x3c]
xor dword [esi + 0x48], eax
mov eax, dword [ebp - 0x38]
xor dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x34]
xor dword [esi + 0x40], eax
mov eax, dword [ebp - 0x30]
xor dword [esi + 0x44], eax
mov eax, dword [ebp - 0x2c]
xor dword [esi + 0x38], eax
mov eax, dword [ebp - 0x28]
xor dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x24]
xor dword [esi + 0x30], eax
mov eax, dword [ebp - 0x20]
xor dword [esi + 0x34], eax
mov eax, dword [ebp - 0x1c]
xor dword [esi + 0x28], eax
mov eax, dword [ebp - 0x18]
xor dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x14]
xor dword [esi + 0x20], eax
mov eax, dword [ebp - 0x10]
xor dword [esi + 0x24], eax
mov eax, dword [ebp - 0xc]
xor dword [esi + 0x18], eax
mov eax, dword [ebp - 8]
xor dword [esi + 0x1c], eax
mov eax, dword [ebp - 4]
xor dword [esi + 0x14], eax
mov eax, dword [esi + 0x48]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x4c]
xor dword [esi + 0x10], ebx
cmp dword [esi + 8], 4
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
jl 0x101247a5
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x7c]
add ecx, ebx
adc eax, edx
xor dword [esi + 0x70], ecx
xor dword [esi + 0x74], eax
mov cl, 0x28
movzx eax, byte [edi + 7]
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 8], 5
jl 0x101247b2
mov ecx, esi
call fcn.10123330
cmp dword [esi + 8], 6
jl 0x1012486c
mov ecx, dword [esi + 0x80]
add ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x84]
adc eax, dword [esi + 0x14]
xor dword [esi + 0x7c], eax
xor dword [esi + 0x78], ecx
mov cl, 0x28
movzx eax, byte [edi + 7]
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
mov eax, dword [ebp + 8]
xor dword [esi + 0x48], eax
mov eax, dword [ebp - 0x3c]
xor dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x38]
xor dword [esi + 0x40], eax
mov eax, dword [ebp - 0x34]
xor dword [esi + 0x44], eax
mov eax, dword [ebp - 0x30]
xor dword [esi + 0x38], eax
mov eax, dword [ebp - 0x2c]
xor dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x28]
xor dword [esi + 0x30], eax
mov eax, dword [ebp - 0x24]
xor dword [esi + 0x34], eax
mov eax, dword [ebp - 0x20]
xor dword [esi + 0x28], eax
mov eax, dword [ebp - 0x1c]
xor dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x18]
xor dword [esi + 0x20], eax
mov eax, dword [ebp - 0x14]
xor dword [esi + 0x24], eax
mov eax, dword [ebp - 0x10]
xor dword [esi + 0x18], eax
mov eax, dword [ebp - 0xc]
xor dword [esi + 0x1c], eax
mov eax, dword [ebp - 8]
xor dword [esi + 0x14], eax
mov eax, dword [esi + 0x48]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x4c]
xor dword [esi + 0x10], ebx
cmp dword [esi + 8], 7
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
jl 0x101249e4
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0x8c]
add ecx, ebx
adc eax, edx
xor dword [esi + 0x80], ecx
xor dword [esi + 0x84], eax
mov cl, 0x28
movzx eax, byte [edi + 7]
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 8], 8
jl 0x10124aa4
mov ecx, dword [esi + 0x90]
add ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x94]
adc eax, dword [esi + 0x14]
xor dword [esi + 0x8c], eax
xor dword [esi + 0x88], ecx
mov cl, 0x28
movzx eax, byte [edi + 7]
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
add edi, 8
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 8], 9
jl 0x10124b5b
mov ecx, dword [esi + 0x58]
add ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x5c]
adc eax, dword [esi + 0x14]
xor dword [esi + 0x94], eax
xor dword [esi + 0x90], ecx
mov cl, 0x28
movzx eax, byte [edi + 7]
cdq
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], edx
movzx eax, byte [edi + 6]
cdq
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
mov cl, 0x20
cdq
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], edx
mov eax, dword [edi]
mov edx, dword [edi + 4]
call fcn.101c6b70
movzx eax, al
cdq
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x18
shr eax, 0x18
movzx eax, cl
cdq
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 0x10
shr eax, 0x10
movzx eax, cl
cdq
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
shrd ecx, eax, 8
shr eax, 8
movzx eax, cl
mov ecx, esi
cdq
xor dword [esi + 0x40], eax
xor dword [esi + 0x44], edx
movzx eax, byte [edi]
cdq
xor dword [esi + 0x48], eax
xor dword [esi + 0x4c], edx
call fcn.10123330
cmp dword [esi + 8], 0xa
jl 0x10124b68
mov ecx, esi
call fcn.10123330
mov eax, dword [ebp + 8]
xor dword [esi + 0x48], eax
mov eax, dword [ebp - 0x3c]
xor dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x38]
xor dword [esi + 0x40], eax
mov eax, dword [ebp - 0x34]
xor dword [esi + 0x44], eax
mov eax, dword [ebp - 0x30]
xor dword [esi + 0x38], eax
mov eax, dword [ebp - 0x2c]
xor dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x28]
xor dword [esi + 0x30], eax
mov eax, dword [ebp - 0x24]
xor dword [esi + 0x34], eax
mov eax, dword [ebp - 0x20]
xor dword [esi + 0x28], eax
mov eax, dword [ebp - 0x1c]
xor dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x18]
xor dword [esi + 0x20], eax
mov eax, dword [ebp - 0x14]
xor dword [esi + 0x24], eax
mov eax, dword [ebp - 0x10]
xor dword [esi + 0x18], eax
mov eax, dword [ebp - 0xc]
xor dword [esi + 0x1c], eax
xor dword [esi + 0x10], ebx
mov eax, dword [ebp - 8]
xor dword [esi + 0x14], eax
add dword [esi + 0x98], 0x200
pop edi
adc dword [esi + 0x9c], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4