Function at 0x10103920
Capabilities:
Hash data using sha1

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10183e48
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1c048
call fcn.10178bb0
mov eax, dword [0x101e6040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1bffc], edx
mov edi, ecx
mov dword [ebp - 0x1bfa8], edi
mov esi, dword [ebx + 8]
xorps xmm0, xmm0
mov eax, dword [ebx + 0xc]
mov ecx, esi
mov dword [ebp - 0x1c004], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1c000], eax
movups xmmword [ebp - 0x450], xmm0
mov dword [ebp - 0x440], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x43c], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101039b0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x450]
call fcn.10002eb0
mov dword [ebp - 4], 0
xor ecx, ecx
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x1bfc8], eax
lea edi, [eax + 0xfff]
mov eax, edi
cmp eax, 0x10000
jb 0x101039ef
mov ecx, 0x10
shr eax, 0x10
cmp eax, 0x100
lea esi, [ecx + 8]
mov edx, eax
cmovb esi, ecx
shr edx, 8
cmp eax, 0x100
cmovb edx, eax
mov eax, edx
shr eax, 4
cmp edx, 0x10
cmovb eax, edx
movsx ecx, byte [eax + 0x101d1974]
lea eax, [esi + 4]
cmovb eax, esi
add eax, 0xffffffec
add eax, ecx
test eax, eax
jle 0x10103a75
mov eax, edi
cmp edi, 0x10000
jb 0x10103a35
shr edi, 0x10
cmp eax, 0x10000
sbb edx, edx
and edx, 0xfffffff0
add edx, 0x10
cmp edi, 0x100
jb 0x10103a50
add edx, 8
shr edi, 8
mov eax, edi
lea esi, [edx + 4]
shr eax, 4
cmp edi, 0x10
cmovb eax, edi
cmovb esi, edx
add esi, 0xffffffec
movsx ecx, byte [eax + 0x101d1974]
add esi, ecx
mov dword [ebp - 0x1bfa4], esi
jmp 0x10103a7f
mov dword [ebp - 0x1bfa4], 0
cmp dword [ebp - 0x43c], 0xf
lea eax, [ebp - 0x450]
mov dword [ebp - 0x1bf84], 0
cmova eax, dword [ebp - 0x450]
movsx eax, byte [eax]
push eax
call fcn.10161280
add esp, 4
test eax, eax
je 0x10103bac
xor ecx, ecx
mov esi, 1
xorps xmm0, xmm0
mov dword [ebp - 0x1bf84], ecx
movups xmmword [ebp - 0x460], xmm0
cmp dword [ebp - 0x440], esi
jle 0x10103ba2
mov edx, dword [ebp - 0x43c]
mov edi, dword [ebp - 0x450]
cmp ecx, 4
jge 0x10103b87
cmp edx, 0xf
lea eax, [ebp - 0x450]
cmova eax, edi
cmp byte [eax + esi], 0x2c
je 0x10103b73
cmp edx, 0xf
lea eax, [ebp - 0x450]
cmova eax, edi
cmp byte [eax + esi], 0x2e
je 0x10103b73
cmp edx, 0xf
lea eax, [ebp - 0x450]
cmova eax, edi
movsx eax, byte [eax + esi]
push eax
call fcn.10161280
mov edx, dword [ebp - 0x43c]
add esp, 4
mov edi, dword [ebp - 0x450]
test eax, eax
je 0x10103b6b
cmp edx, 0xf
lea eax, [ebp - 0x450]
cmova eax, edi
movsx ecx, byte [eax + esi]
mov eax, dword [ebp - 0x1bf84]
mov eax, dword [ebp + eax*4 - 0x460]
lea eax, [eax + eax*4]
lea eax, [eax - 0x18]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x1bf84]
mov dword [ebp + ecx*4 - 0x460], eax
jmp 0x10103b7a
mov ecx, dword [ebp - 0x1bf84]
jmp 0x10103b7a
inc ecx
mov dword [ebp - 0x1bf84], ecx
inc esi
cmp esi, dword [ebp - 0x440]
jl 0x10103ae0
test ecx, ecx
je 0x10103ba2
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x458]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x1bf84], eax
jmp 0x10103bac
mov dword [ebp - 0x1bf84], 0x200
push 0x40
lea eax, [ebp - 0x524]
mov dword [ebp - 0x538], 0x67452301
xorps xmm0, xmm0
mov dword [ebp - 0x534], 0xefcdab89
push 0
push eax
movlpd qword [ebp - 0x540], xmm0
mov dword [ebp - 0x530], 0x98badcfe
mov dword [ebp - 0x52c], 0x10325476
mov dword [ebp - 0x528], 0xc3d2e1f0
call fcn.10152e30
mov eax, dword [ebp - 0x1bfa8]
lea ecx, [ebp - 0x540]
add esp, 0xc
push 0
push dword [ebp - 0x1bfc8]
push dword [eax + 8]
call fcn.100d36f0
lea ecx, [ebp - 0x540]
call fcn.100d33e0
cmp dword [ebp - 0x43c], 0xf
mov dword [ebp - 0x1bfac], eax
lea eax, [ebp - 0x450]
cmova eax, dword [ebp - 0x450]
movsx eax, byte [eax]
push eax
call fcn.10161280
add esp, 4
test eax, eax
je 0x1010554b
cmp dword [ebp - 0x43c], 0xf
lea eax, [ebp - 0x450]
mov esi, dword [ebp - 0x1bf84]
lea ecx, [ebp - 0x1bf9c]
cmova eax, dword [ebp - 0x450]
mov edi, esi
and edi, 2
add edi, edi
mov al, byte [eax]
mov byte [ebp - 0x1bf9d], al
mov eax, dword [ebp - 0x1bfa4]
cdq
push edx
push eax
call fcn.10100070
add esp, 8
push 1
push 0x101d057c
push ecx
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.100959b0
lea ecx, [ebp - 0x450]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bff8], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1bff8]
push eax
movq qword [ebp - 0x1bfe8], xmm0
call fcn.10055f30
mov ecx, dword [ebp - 0x1bfe4]
cmp ecx, 0xf
jbe 0x10103d18
mov edx, dword [ebp - 0x1bff8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103d0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f5b
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x10103d56
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103d4c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f5b
push ecx
push edx
call fcn.10151441
add esp, 8
mov ecx, dword [ebp - 0x1bfa4]
xor eax, eax
cmp ecx, 6
setle al
add ecx, 0x13
add eax, ecx
lea ecx, [ebp - 0x1bf9c]
cdq
push edx
push eax
call fcn.10100070
add esp, 8
push 1
push str._dhi
push ecx
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.100959b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x468], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x458], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x10103df3
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103de9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f60
push ecx
push edx
call fcn.10151441
add esp, 8
mov eax, dword [ebp - 0x1bfa4]
lea ecx, [ebp - 0x1bff8]
cdq
add eax, 0x15
mov dword [ebp - 0x1bf8c], 0
mov dword [ebp - 0x1bf88], 0xf
adc edx, 0
mov byte [ebp - 0x1bf9c], 0
push edx
push eax
call fcn.10100070
add esp, 8
push 1
push str._dhi
push ecx
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.100959b0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4d0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4c0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bfe4]
cmp ecx, 0xf
jbe 0x10103ea4
mov edx, dword [ebp - 0x1bff8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103e9a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f65
push ecx
push edx
call fcn.10151441
add esp, 8
mov al, byte [ebp - 0x1bf9d]
mov dword [ebp - 0x1bfe8], 0
mov dword [ebp - 0x1bfe4], 0xf
mov byte [ebp - 0x1bff8], 0
cmp al, 0x30
jne 0x10104061
mov eax, dword [ebp - 0x1bfa4]
lea ecx, [ebp - 0x1bf9c]
cdq
push edx
push eax
call fcn.10100070
add esp, 8
push 1
push str.0123
push ecx
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.100959b0
mov dword [ebp - 0x1bfb4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bfc4], xmm0
mov dword [ebp - 0x1bfb0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bfc4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1bfb4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 2
push 0x101d0580
lea ecx, [ebp - 0x1bfc4]
mov byte [ebp - 4], 9
call fcn.1000a5c0
lea ecx, [ebp - 0x450]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bff8], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1bff8]
push eax
movq qword [ebp - 0x1bfe8], xmm0
call fcn.10055f30
mov ecx, dword [ebp - 0x1bfe4]
cmp ecx, 0xf
jbe 0x10103fc7
mov edx, dword [ebp - 0x1bff8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103fbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f6a
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1bfb0]
cmp ecx, 0xf
jbe 0x10104005
mov edx, dword [ebp - 0x1bfc4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103ffb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f6a
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bf88]
mov dword [ebp - 0x1bfb4], 0
mov dword [ebp - 0x1bfb0], 0xf
mov byte [ebp - 0x1bfc4], 0
cmp ecx, 0xf
jbe 0x101054cf
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104303
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f6a
jmp 0x10104303
cmp al, 0x31
jne 0x101043c9
cmp esi, 0x28
jae 0x1010407a
push 2
push 0x101d0580
jmp 0x101054c4
xor eax, eax
lea ecx, [ebp - 0x1bf9c]
add edi, 1
adc eax, eax
push eax
push edi
call fcn.10100070
add esp, 8
push 1
push str._dhi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.100959b0
mov dword [ebp - 0x1bfb4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bfc4], xmm0
mov dword [ebp - 0x1bfb0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bfc4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1bfb4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push str._dhi
lea ecx, [ebp - 0x1bfc4]
mov byte [ebp - 4], 0xb
call fcn.1000a5c0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x1bf80], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1bf70], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1bf80]
cmp dword [ebp - 0x1bf6c], 0xf
push dword [ebp - 0x1bf70]
movd eax, xmm1
cmova ecx, eax
push ecx
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x1bf6c]
cmp ecx, 0xf
jbe 0x10104190
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104186
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f6f
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1bfb0]
cmp ecx, 0xf
jbe 0x101041ce
mov edx, dword [ebp - 0x1bfc4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101041c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f6f
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bf88]
mov dword [ebp - 0x1bfb4], 0
mov dword [ebp - 0x1bfb0], 0xf
mov byte [ebp - 0x1bfc4], 0
cmp ecx, 0xf
jbe 0x10104227
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010421d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f6f
push ecx
push edx
call fcn.10151441
add esp, 8
mov eax, dword [ebp - 0x1bf84]
cmp eax, 0x50
jae 0x1010423e
push 8
push str.4_0_1_15
jmp 0x101054c4
cmp eax, 0x80
jae 0x10104251
push 8
push str.4_0_2_16
jmp 0x101054c4
cmp eax, 0x100
jae 0x10104312
mov ecx, dword [ebp - 0x458]
mov eax, SysReAllocString
sub eax, ecx
cmp eax, 5
jb 0x10105f7e
cmp dword [ebp - 0x454], 0xf
lea eax, [ebp - 0x468]
push ecx
cmova eax, dword [ebp - 0x468]
push eax
push 5
push str.4_0_2
push ecx
push dword [ebp - 0x1bfac]
lea ecx, [ebp - 0x1bf80]
call fcn.10040210
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x1bf80]
cmp dword [ebp - 0x1bf6c], 0xf
lea ecx, [ebp - 0x450]
push dword [ebp - 0x1bf70]
cmova eax, dword [ebp - 0x1bf80]
push eax
call fcn.1000a5c0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bf6c]
cmp ecx, 0xf
jbe 0x101054cf
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104303
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
jmp 0x101054cf
cmp eax, 0x3c0
jae 0x1010438f
mov ecx, dword [ebp - 0x458]
mov eax, SysReAllocString
sub eax, ecx
cmp eax, 5
jb 0x10105f74
cmp dword [ebp - 0x454], 0xf
lea eax, [ebp - 0x468]
push ecx
cmova eax, dword [ebp - 0x468]
push eax
push 5
push str.5_0_3
push ecx
push dword [ebp - 0x1bfac]
lea ecx, [ebp - 0x1bf9c]
call fcn.10040210
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1bf9c]
push dword [ebp - 0x1bf8c]
call fcn.10003190
push eax
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
lea ecx, [ebp - 0x1bf9c]
call fcn.10003210
jmp 0x101054cf
lea eax, [ebp - 0x468]
mov edx, str.6_0_3
push eax
lea ecx, [ebp - 0x1bfe0]
call fcn.100ca210
add esp, 4
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0xf
call fcn.1000a330
lea ecx, [ebp - 0x1bfe0]
call fcn.10003210
jmp 0x101054cf
cmp al, 0x32
jne 0x10104775
cmp esi, 0x20
jae 0x101043e2
push 2
push 0x101d0580
jmp 0x101054c4
xor eax, eax
lea ecx, [ebp - 0x1bf9c]
add edi, 1
adc eax, eax
push eax
push edi
call fcn.10100070
add esp, 8
push 1
push str._dhi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.100959b0
mov dword [ebp - 0x1bfb4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bfc4], xmm0
mov dword [ebp - 0x1bfb0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bfc4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1bfb4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push str._dhi
lea ecx, [ebp - 0x1bfc4]
mov byte [ebp - 4], 0x11
call fcn.1000a5c0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x1bf80], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1bf70], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1bf80]
cmp dword [ebp - 0x1bf6c], 0xf
push dword [ebp - 0x1bf70]
movd eax, xmm1
cmova ecx, eax
push ecx
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1bf6c]
cmp ecx, 0xf
jbe 0x101044f8
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101044ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f79
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x1bfb0]
cmp ecx, 0xf
jbe 0x10104536
mov edx, dword [ebp - 0x1bfc4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010452c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f79
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bf88]
mov dword [ebp - 0x1bfb4], 0
mov dword [ebp - 0x1bfb0], 0xf
mov byte [ebp - 0x1bfc4], 0
cmp ecx, 0xf
jbe 0x1010458f
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104585
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f79
push ecx
push edx
call fcn.10151441
add esp, 8
mov eax, SysReAllocString
cmp esi, 0x40
jae 0x1010464e
mov ecx, dword [ebp - 0x458]
sub eax, ecx
cmp eax, 5
jb 0x10105f7e
cmp dword [ebp - 0x454], 0xf
lea eax, [ebp - 0x468]
push ecx
cmova eax, dword [ebp - 0x468]
push eax
push 5
push str.4_0_3
push ecx
push dword [ebp - 0x1bfac]
lea ecx, [ebp - 0x1bf80]
call fcn.10040210
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1bf80]
cmp dword [ebp - 0x1bf6c], 0xf
lea ecx, [ebp - 0x450]
push dword [ebp - 0x1bf70]
cmova eax, dword [ebp - 0x1bf80]
push eax
call fcn.1000a5c0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bf6c]
cmp ecx, 0xf
jbe 0x101054cf
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010463f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
jmp 0x101054cf
mov ecx, dword [ebp - 0x4c0]
sub eax, ecx
cmp eax, 5
jb 0x10105f83
cmp dword [ebp - 0x4bc], 0xf
lea eax, [ebp - 0x4d0]
push ecx
cmova eax, dword [ebp - 0x4d0]
push eax
push 5
push str.4_0_7
push ecx
push dword [ebp - 0x1bfac]
lea ecx, [ebp - 0x1bf9c]
call fcn.10040210
push 2
push 0x101d05bc
lea ecx, [ebp - 0x1bf9c]
mov byte [ebp - 4], 0x14
call fcn.1000a5c0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x1bf80], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1bf70], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1bf80]
cmp dword [ebp - 0x1bf6c], 0xf
push dword [ebp - 0x1bf70]
movd eax, xmm1
cmova ecx, eax
push ecx
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x1bf6c]
cmp ecx, 0xf
jbe 0x10104734
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010472a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f88
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x101054cf
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104303
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f88
jmp 0x10104303
cmp al, 0x33
jne 0x10104c42
mov eax, dword [ebp - 0x1bf84]
cmp eax, 0x14
jae 0x10104794
push 2
push 0x101d0580
jmp 0x101054c4
cmp eax, 0x30
jae 0x10104a16
xor eax, eax
lea ecx, [ebp - 0x1bfe0]
add edi, 1
adc eax, eax
push eax
push edi
call fcn.10100070
add esp, 8
push 1
push str._dhi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.100959b0
mov dword [ebp - 0x1bf70], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bf80], xmm0
mov dword [ebp - 0x1bf6c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bf80], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1bf70], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 6
push str._4_0_3
lea ecx, [ebp - 0x1bf80]
mov byte [ebp - 4], 0x17
call fcn.1000a5c0
mov dword [ebp - 0x1bfb4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bfc4], xmm0
mov dword [ebp - 0x1bfb0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bfc4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1bfb4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 0xf
lea ecx, [ebp - 0x1bfc4]
push dword [ebp - 0x458]
cmova eax, dword [ebp - 0x468]
push eax
call fcn.1000a5c0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x1bf9c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1bf8c], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1bf9c]
cmp dword [ebp - 0x1bf88], 0xf
push dword [ebp - 0x1bf8c]
movd eax, xmm1
cmova ecx, eax
push ecx
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x10104923
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104919
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x1bfb0]
cmp ecx, 0xf
jbe 0x10104961
mov edx, dword [ebp - 0x1bfc4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104957
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x1bf6c]
mov dword [ebp - 0x1bfb4], 0
mov dword [ebp - 0x1bfb0], 0xf
mov byte [ebp - 0x1bfc4], 0
cmp ecx, 0xf
jbe 0x101049ba
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101049b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bfcc]
mov dword [ebp - 0x1bf70], 0
mov dword [ebp - 0x1bf6c], 0xf
mov byte [ebp - 0x1bf80], 0
cmp ecx, 0xf
jbe 0x101054cf
mov edx, dword [ebp - 0x1bfe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104303
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
jmp 0x10104303
cmp eax, 0x280
jae 0x10104aeb
test al, 1
jne 0x10104aeb
lea eax, [edi + 2]
push 0
push eax
lea ecx, [ebp - 0x1c01c]
call fcn.10100070
push eax
mov edx, str._dhi
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x1bfc4]
call fcn.10095190
add esp, 0xc
push str._12_0_7
mov edx, eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x1bf80]
call fcn.10095200
add esp, 4
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x1f
push ecx
mov edx, eax
lea ecx, [ebp - 0x1bf9c]
call fcn.10040160
add esp, 4
push str._1c0_0_511i2
mov edx, eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x1bfe0]
call fcn.10095200
add esp, 4
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x21
call fcn.1000a330
lea ecx, [ebp - 0x1bfe0]
call fcn.10003210
lea ecx, [ebp - 0x1bf9c]
call fcn.10003210
lea ecx, [ebp - 0x1bf80]
call fcn.10003210
lea ecx, [ebp - 0x1bfc4]
call fcn.10003210
lea ecx, [ebp - 0x1c01c]
call fcn.10003210
jmp 0x101054cf
xor eax, eax
lea ecx, [ebp - 0x1bfe0]
add edi, 3
adc eax, eax
push eax
push edi
call fcn.10100070
add esp, 8
push 1
push str._dhi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.100959b0
mov dword [ebp - 0x1bf70], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bf80], xmm0
mov dword [ebp - 0x1bf6c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bf80], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1bf70], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 3
push 0x101d05d0
lea ecx, [ebp - 0x1bf80]
mov byte [ebp - 4], 0x1b
call fcn.1000a5c0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x1bf9c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1bf8c], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x1bf9c]
cmp dword [ebp - 0x1bf88], 0xf
push dword [ebp - 0x1bf8c]
movd eax, xmm1
cmova ecx, eax
push ecx
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x10104c01
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104bf7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x1bf6c]
cmp ecx, 0xf
jbe 0x101049ba
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101049b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
jmp 0x101049b0
cmp al, 0x34
jne 0x10104eec
mov eax, dword [ebp - 0x1bf84]
cmp eax, 0xc
jae 0x10104c61
push 2
push 0x101d0580
jmp 0x101054c4
push 0
cmp eax, 0x18
jae 0x10104d08
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x1bf80]
call fcn.10100070
push eax
mov edx, str._dhi
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x1bf9c]
call fcn.10095190
add esp, 0xc
push str._4_0_3
mov edx, eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x1bfe0]
call fcn.10095200
add esp, 4
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 0x24
push ecx
mov edx, eax
lea ecx, [ebp - 0x1c01c]
call fcn.10040160
add esp, 4
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x25
call fcn.1000a330
lea ecx, [ebp - 0x1c01c]
call fcn.10003210
lea ecx, [ebp - 0x1bfe0]
call fcn.10003210
lea ecx, [ebp - 0x1bf9c]
call fcn.10003210
lea ecx, [ebp - 0x1bf80]
call fcn.10003210
jmp 0x101054cf
cmp eax, 0x30
jae 0x10104dd1
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x1bfc4]
call fcn.10100070
push eax
mov edx, str._dhi
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x1bf80]
call fcn.10095190
add esp, 0xc
push str._5_0_7
mov edx, eax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x1bf9c]
call fcn.10095200
add esp, 4
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x28
push ecx
mov edx, eax
lea ecx, [ebp - 0x1bfe0]
call fcn.10040160
add esp, 4
push str.1c0_0_511
mov edx, eax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x1c01c]
call fcn.10095200
add esp, 4
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x2a
call fcn.1000a330
lea ecx, [ebp - 0x1c01c]
call fcn.10003210
lea ecx, [ebp - 0x1bfe0]
call fcn.10003210
lea ecx, [ebp - 0x1bf9c]
call fcn.10003210
lea ecx, [ebp - 0x1bf80]
call fcn.10003210
lea ecx, [ebp - 0x1bfc4]
call fcn.10003210
jmp 0x101054cf
lea ecx, [ebp - 0x1bf9c]
cmp eax, 0x384
jae 0x10104e7c
push edi
call fcn.10100070
push eax
mov edx, str._dhi
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1bfe0]
call fcn.10095190
add esp, 0xc
push str.ci1_1_1_1_2a
mov edx, eax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x1c01c]
call fcn.10095200
add esp, 4
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x2d
call fcn.1000a330
lea ecx, [ebp - 0x1c01c]
call fcn.10003210
lea ecx, [ebp - 0x1bfe0]
call fcn.10003210
lea ecx, [ebp - 0x1bf9c]
mov byte [ebp - 4], 7
call fcn.10003210
test byte [ebp - 0x1bf84], 1
je 0x10104e67
push 0x101d0610
lea ecx, [ebp - 0x450]
call fcn.1000a300
push 0x101d0614
lea ecx, [ebp - 0x450]
call fcn.1000a300
jmp 0x101054cf
lea eax, [edi + 3]
push eax
call fcn.10100070
push eax
mov edx, str._dhi
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1bfe0]
call fcn.10095190
add esp, 0xc
push 0x101d05d0
mov edx, eax
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x1c01c]
call fcn.10095200
add esp, 4
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x30
call fcn.1000a330
lea ecx, [ebp - 0x1c01c]
call fcn.10003210
lea ecx, [ebp - 0x1bfe0]
call fcn.10003210
lea ecx, [ebp - 0x1bf9c]
call fcn.10003210
jmp 0x101054cf
push 0
push edi
lea ecx, [ebp - 0x1bfe0]
call fcn.10100070
add esp, 8
push 1
push str._dhi
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x31
call fcn.100959b0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x1bf9c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1bf8c], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x1bf9c]
cmp dword [ebp - 0x1bf88], 0xf
push dword [ebp - 0x1bf8c]
movd eax, xmm1
cmova ecx, eax
push ecx
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x10104fa0
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104f96
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bfcc]
cmp ecx, 0xf
jbe 0x10104fde
mov edx, dword [ebp - 0x1bfe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104fd4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
test dword [ebp - 0x1bf84], 1
lea ecx, [ebp - 0x450]
mov edx, 4
mov eax, 0xf
cmove eax, edx
mov edx, str.w2c0_1010_255i1
push eax
mov eax, str.w1i1
cmovne eax, edx
push eax
call fcn.1000a5c0
push 0x14
push str.c256ci1_1_1_1_1_1_2a
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
push 0x400
lea eax, [ebp - 0x438]
push 0
push eax
call fcn.10152e30
add esp, 0xc
lea eax, [ebp - 0x1bef8]
push 0x4000
push 0
push eax
call fcn.10152e30
mov eax, dword [ebp - 0x1bfa8]
add esp, 0xc
cmp byte [ebp - 0x1bf9d], 0x30
mov edi, dword [eax + 8]
jle 0x1010509e
xor ecx, ecx
cmp dword [ebp - 0x1bfc8], ecx
jbe 0x1010509e
nop dword [eax]
movzx esi, byte [ecx + edi]
mov edx, ecx
sub edx, dword [ebp + esi*4 - 0x438]
lea eax, [edx - 1]
cmp eax, 0xffe
ja 0x1010508e
inc dword [ebp + edx*4 - 0x1bef8]
mov dword [ebp + esi*4 - 0x438], ecx
inc ecx
cmp ecx, dword [ebp - 0x1bfc8]
jb 0x10105070
mov esi, dword [ebp - 0x1bfc8]
sub esi, dword [ebp - 0x1bef4]
sub esi, dword [ebp - 0x1beec]
sub esi, dword [ebp - 0x1bef0]
mov dword [ebp - 0x1bfa4], 0
xor edi, edi
xorps xmm3, xmm3
xor ecx, ecx
lea eax, [edi + 5]
nop word [eax + eax]
cmp ecx, esi
jge 0x10105118
mov edx, dword [ebp + eax*4 - 0x1bef8]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
movd xmm0, ecx
addsd xmm1, qword [0x101d2400]
cvtdq2pd xmm0, xmm0
movd xmm2, edx
cvtdq2pd xmm2, xmm2
subsd xmm1, xmm0
divsd xmm2, xmm1
comisd xmm2, xmm3
jbe 0x1010510e
movaps xmm3, xmm2
mov edi, eax
inc eax
add ecx, edx
cmp eax, 0x1000
jl 0x101050d0
cmp edi, 4
jle 0x101054bd
comisd xmm3, xmmword [0x101d2390]
jbe 0x101054bd
mov eax, edi
lea ecx, [ebp - 0x1bfe0]
cdq
add eax, 0x3e7
adc edx, 0
push edx
push eax
call fcn.10100070
add esp, 8
push 5
push str.c0_0_
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x33
call fcn.100959b0
mov dword [ebp - 0x1bf70], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bf80], xmm0
mov dword [ebp - 0x1bf6c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bf80], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1bf70], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 6
push str._255i1
lea ecx, [ebp - 0x1bf80]
mov byte [ebp - 4], 0x34
call fcn.1000a5c0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x1bf9c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1bf8c], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x1bf9c]
cmp dword [ebp - 0x1bf88], 0xf
push dword [ebp - 0x1bf8c]
movd eax, xmm1
cmova ecx, eax
push ecx
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x10105249
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010523f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f5b
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x1bf6c]
cmp ecx, 0xf
jbe 0x10105287
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010527d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f5b
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bfcc]
mov dword [ebp - 0x1bf70], 0
mov dword [ebp - 0x1bf6c], 0xf
mov byte [ebp - 0x1bf80], 0
cmp ecx, 0xf
jbe 0x101052e0
mov edx, dword [ebp - 0x1bfe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101052d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f5b
push ecx
push edx
call fcn.10151441
add esp, 8
cmp edi, 0xff
jg 0x10105495
mov eax, edi
lea ecx, [ebp - 0x1bfe0]
cdq
push edx
push eax
call fcn.10100070
add esp, 8
push 3
push 0x101d065c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x36
call fcn.100959b0
mov dword [ebp - 0x1bf70], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bf80], xmm0
mov dword [ebp - 0x1bf6c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bf80], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1bf70], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 2
push 0x101d0658
lea ecx, [ebp - 0x1bf80]
mov byte [ebp - 4], 0x37
call fcn.1000a5c0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x1bf9c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1bf8c], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x1bf9c]
cmp dword [ebp - 0x1bf88], 0xf
push dword [ebp - 0x1bf8c]
movd eax, xmm1
cmova ecx, eax
push ecx
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x101053fe
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101053f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f5b
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x1bf6c]
cmp ecx, 0xf
jbe 0x1010543c
mov edx, dword [ebp - 0x1bf80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105432
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f5b
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1bfcc]
mov dword [ebp - 0x1bf70], 0
mov dword [ebp - 0x1bf6c], 0xf
mov byte [ebp - 0x1bf80], 0
cmp ecx, 0xf
jbe 0x10105495
mov edx, dword [ebp - 0x1bfe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010548b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f5b
push ecx
push edx
call fcn.10151441
add esp, 8
mov edx, dword [ebp - 0x1bfa4]
sub esi, dword [ebp + edi*4 - 0x1bef8]
inc edx
mov dword [ebp + edi*4 - 0x1bef8], 0
mov dword [ebp - 0x1bfa4], edx
cmp edx, 2
jl 0x101050c0
push 0x34
push str.c0_2_0_255i1c0_3_0_0_255i1c0_4_0_0_0_255i1mm16ts19t0
lea ecx, [ebp - 0x450]
call fcn.1000a5c0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x4bc]
cmp ecx, 0xf
jbe 0x1010550d
mov edx, dword [ebp - 0x4d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105503
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x454]
cmp ecx, 0xf
jbe 0x1010554b
mov edx, dword [ebp - 0x468]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105541
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x470], 0
movups xmmword [ebp - 0x480], xmm0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x38]
cmp dword [ebp - 0x43c], 0xf
lea edx, [ebp - 0x450]
push eax
cmova edx, dword [ebp - 0x450]
lea ecx, [ebp - 0x1bfe0]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.10100230
mov esi, eax
add esp, 4
lea eax, [ebp - 0x480]
cmp eax, esi
je 0x10105632
mov ecx, dword [ebp - 0x46c]
cmp ecx, 0xf
jbe 0x101055ef
mov edx, dword [ebp - 0x480]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101055e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x480], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x470], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x1bfcc]
cmp ecx, 0xf
jbe 0x1010566c
mov edx, dword [ebp - 0x1bfe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105662
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
push 0x179b0
lea eax, [ebp - 0x17ef0]
push 0
push eax
call fcn.10152e30
add esp, 0xc
lea ecx, [ebp - 0x17ef0]
call fcn.100d7d00
lea ecx, [ebp - 0x17e7c]
mov byte [ebp - 4], 0x3a
call fcn.100d7d00
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x17e08]
push 0x100d8680
push 0x100d85a0
mov dword [ebp - 0x1bfa4], eax
lea eax, [ebp - 0x17ef0]
push 0x100
mov dword [ebp - 0x175f4], eax
lea eax, [ebp - 0x175f0]
push 0x38
push eax
mov dword [ebp - 0x17e08], 0
mov dword [ebp - 0x17e04], 1
mov dword [ebp - 0x17e00], 0xffffffff
mov dword [ebp - 0x17dfc], 1
mov dword [ebp - 0x17df8], 1
call fcn.10178510
mov ecx, 0x100
lea edi, [ebp - 0x9ec]
mov esi, 0x1019f088
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x5ec], 0
mov dword [ebp - 0x5e8], 0
mov byte [ebp - 0x13df0], 0
xorps xmm0, xmm0
mov dword [ebp - 0x5e4], 0
push 0x40
movlpd qword [ebp - 0x5d0], xmm0
lea eax, [ebp - 0x5b4]
movaps xmm0, xmmword [0x101d3610]
push 0
push eax
mov dword [ebp - 0x5e0], 0
mov dword [ebp - 0x5dc], 0
mov dword [ebp - 0x5d8], 0
movups xmmword [ebp - 0x5c8], xmm0
mov dword [ebp - 0x5b8], 0xc3d2e1f0
call fcn.10152e30
add esp, 0xc
mov dword [ebp - 0x54c], 0
mov byte [ebp - 0x548], 0
mov ecx, dword [ebp - 0x1bffc]
xorps xmm0, xmm0
movups xmmword [ebp - 0x4b8], xmm0
mov dword [ebp - 0x17e08], ecx
movups xmmword [ebp - 0x4a8], xmm0
mov dword [ebp - method.libzpaq::StringBuffer.1.virtual_0], vtable.libzpaq::StringBuffer.1.0
mov dword [ebp - fcn.1007d6d0], vtable.libzpaq::StringBuffer.0
mov dword [ebp - 0x4b0], 0
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 0
mov dword [ebp - 0x4a0], 0xffffffff
mov dword [ebp - 0x49c], 0x80
mov byte [ebp - 4], 0x3e
mov eax, dword [ecx]
push 0x37
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x6b
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x53
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x74
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0xa0
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x31
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x83
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0xd3
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x8c
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0xb2
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x28
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0xb0
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0xd3
mov eax, dword [ecx]
call dword [eax]
cmp dword [ebp - 0x46c], 0xf
lea ecx, [ebp - 0x4b4]
push ecx
lea ecx, [ebp - 0x17e7c]
push ecx
lea ecx, [ebp - 0x17ef0]
push ecx
lea ecx, [ebp - 0x38]
lea eax, [ebp - 0x480]
cmova eax, dword [ebp - 0x480]
push ecx
push eax
lea ecx, [ebp - 0x1c058]
call fcn.1014d0a0
push 0
push 0
lea ecx, [ebp - 0x1c02c]
mov byte [ebp - 4], 0x3f
call fcn.100d78f0
push 0
push 0
lea ecx, [ebp - 0x1c03c]
mov byte [ebp - 4], 0x40
call fcn.100d78f0
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x5d0]
mov ecx, dword [ebp - 0x17e08]
mov dword [ebp - 0x17e78], eax
push 0x7a
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x50
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0x51
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x17ee8]
xor edx, edx
mov ecx, dword [ebp - 0x17e08]
cmp byte [eax + 6], dl
mov esi, dword [ecx]
sete dl
inc edx
push edx
call dword [esi]
mov ecx, dword [ebp - 0x17e08]
push 1
mov eax, dword [ecx]
call dword [eax]
push ecx
push dword [ebp - 0x17e08]
lea ecx, [ebp - 0x17ef0]
call fcn.100d79d0
push 0
push dword [ebp - 0x1bfc8]
lea ecx, [ebp - 0x498]
mov dword [ebp - 0x54c], 1
call fcn.10100070
add esp, 8
mov esi, dword [ebp - 0x1c000]
mov byte [ebp - 4], 0x41
test esi, esi
je 0x10105ad8
mov ecx, dword [ebp - 0x488]
mov eax, SysReAllocString
sub eax, ecx
cmp eax, 1
jb 0x10105f92
cmp dword [ebp - 0x484], 0xf
lea eax, [ebp - 0x498]
push 1
cmova eax, dword [ebp - 0x498]
push 0x101ca28c
push ecx
push eax
push ecx
push dword [ebp - 0x1bfac]
lea ecx, [ebp - 0x1bf9c]
call fcn.10040210
mov ecx, esi
mov byte [ebp - 4], 0x42
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10105a10
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x1bf9c]
call fcn.1000a5c0
lea ecx, [ebp - 0x498]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1bff8], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1bff8]
push eax
movq qword [ebp - 0x1bfe8], xmm0
call fcn.10055f30
mov ecx, dword [ebp - 0x1bfe4]
cmp ecx, 0xf
jbe 0x10105a9a
mov edx, dword [ebp - 0x1bff8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105a90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x1bf88]
cmp ecx, 0xf
jbe 0x10105ad8
mov edx, dword [ebp - 0x1bf9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105ace
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov ecx, dword [ebp - 0x17e08]
lea esi, [ebp - 0x498]
cmp dword [ebp - 0x484], 0xf
push 1
cmova esi, dword [ebp - 0x498]
mov eax, dword [ecx]
call dword [eax]
mov edi, dword [ebp - 0x1c004]
test edi, edi
je 0x10105b1b
mov al, byte [edi]
test al, al
je 0x10105b1b
mov ecx, dword [ebp - 0x17e08]
movsx edx, al
push edx
mov eax, dword [ecx]
call dword [eax]
add edi, 1
jne 0x10105b02
mov ecx, dword [ebp - 0x17e08]
push 0
mov eax, dword [ecx]
call dword [eax]
test esi, esi
je 0x10105b49
nop dword [eax + eax]
mov al, byte [esi]
test al, al
je 0x10105b49
mov ecx, dword [ebp - 0x17e08]
movsx edx, al
push edx
mov eax, dword [ecx]
call dword [eax]
add esi, 1
jne 0x10105b30
mov ecx, dword [ebp - 0x17e08]
push 0
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x54c]
cmp eax, 1
jne 0x10105b78
mov dword [ebp - 0x54c], 2
jmp 0x10105b89
cmp eax, 3
mov ecx, 4
cmove eax, ecx
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x34]
lea eax, [ecx - 1]
cmp eax, 6
ja 0x10105bf9
cmp ecx, 4
je 0x10105bf9
push 0x4074
lea eax, [ebp - 0x1bf68]
push 0
push eax
call fcn.10152e30
add esp, 8
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0x1bf68]
push eax
push dword [ebp - 0x1bfa8]
call fcn.1013c850
lea eax, [ebp - 0x1bf68]
mov byte [ebp - 4], 0x43
push ecx
lea ecx, [ebp - 0x17ef0]
mov dword [ebp - 0x5d8], eax
call fcn.1013dca0
push 0
push 0
lea ecx, [ebp - 0x1bf64]
mov byte [ebp - 4], 0x44
call fcn.100950c0
mov byte [ebp - 4], 0x41
jmp 0x10105c2a
lea eax, [ecx - 4]
cmp eax, 3
ja 0x10105c12
mov eax, dword [ebp - 0x1bfa8]
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 8]
call fcn.100d77f0
mov eax, dword [ebp - 0x1bfa8]
push ecx
lea ecx, [ebp - 0x17ef0]
mov dword [ebp - 0x5d8], eax
call fcn.1013dca0
cmp dword [ebp - 0x54c], 2
jne 0x10105d36
lea ecx, [ebp - 0x17dfc]
mov dword [ebp - 0x17e04], 1
mov dword [ebp - 0x17e00], 0xffffffff
call fcn.100d8790
mov eax, dword [ebp - 0x175f4]
mov eax, dword [eax + 8]
cmp byte [eax + 6], 0
jne 0x10105c80
push ecx
push 0x10000
lea ecx, [ebp - 0x5e4]
mov dword [ebp - 0x17e04], 0
call fcn.10048fa0
mov eax, dword [ebp - 0x17e60]
mov ecx, dword [ebp - 0x17e64]
sub eax, ecx
mov dword [ebp - 0x1bfa8], eax
test eax, eax
jle 0x10105d1f
mov edi, dword [ebp - 0x17e74]
add edi, ecx
lea ecx, [ebp - 0x17e08]
push 1
call fcn.1014d4e0
mov ecx, dword [ebp - 0x1bfa8]
movzx eax, cl
lea ecx, [ebp - 0x17e08]
push eax
call fcn.1014d4e0
mov eax, dword [ebp - 0x1bfa8]
lea ecx, [ebp - 0x17e08]
sar eax, 8
movzx eax, al
push eax
call fcn.1014d4e0
xor esi, esi
movzx eax, byte [esi + edi]
lea ecx, [ebp - 0x17e08]
push eax
call fcn.1014d4e0
inc esi
cmp esi, dword [ebp - 0x1bfa8]
jl 0x10105ce0
cmp byte [ebp - 0x548], 0
je 0x10105d2c
mov ecx, dword [ebp - 0x17e74]
movzx eax, byte [ecx + 5]
push eax
movzx eax, byte [ecx + 4]
lea ecx, [ebp - 0x17e7c]
push eax
call fcn.100d82c0
jmp 0x10105d2c
push 0
lea ecx, [ebp - 0x17e08]
call fcn.1014d4e0
mov dword [ebp - 0x54c], 4
push 0xffffffffffffffff
lea ecx, [ebp - 0x17e08]
call fcn.1014d4e0
cmp byte [ebp - 0x548], 0
je 0x10105d6d
cmp dword [ebp - 0x17e60], 0
je 0x10105d6d
push 0xffffffffffffffff
lea ecx, [ebp - 0x17e7c]
call fcn.1011baa0
lea ecx, [ebp - 0x17e7c]
call fcn.100d7f40
mov ecx, dword [ebp - 0x17e08]
push 0
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
push 0
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
mov edi, dword [ebp - 0x1bfac]
mov eax, dword [ecx]
test edi, edi
je 0x10105dd7
push 0xfd
call dword [eax]
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [ebp - 0x17e08]
movsx eax, byte [esi + edi]
push eax
mov edx, dword [ecx]
call dword [edx]
inc esi
cmp esi, 0x14
jl 0x10105dc0
jmp 0x10105dde
push 0xfe
call dword [eax]
mov ecx, dword [ebp - 0x17e08]
mov dword [ebp - 0x54c], 3
push 0xff
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x54c], 0
cmp ecx, 0xf
jbe 0x10105e3b
mov edx, dword [ebp - 0x498]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105e31
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
mov dword [ebp - method.libzpaq::StringBuffer.1.virtual_0], vtable.libzpaq::StringBuffer.1.0
mov dword [ebp - fcn.1007d6d0], vtable.libzpaq::StringBuffer.0
test eax, eax
je 0x10105e7d
push eax
call fcn.10154f5a
add esp, 4
lea ecx, [ebp - 0x17e08]
mov dword [ebp - method.std::_Facet_base.virtual_4], vtable.libzpaq::Writer.0
mov dword [ebp - method.std::_Facet_base.virtual_4], vtable.libzpaq::Reader.0
call fcn.100fffa0
lea ecx, [ebp - 0x17e7c]
call fcn.100d7e60
lea ecx, [ebp - 0x17ef0]
call fcn.100d7e60
mov ecx, dword [ebp - 0x46c]
cmp ecx, 0xf
jbe 0x10105eec
mov edx, dword [ebp - 0x480]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105ee2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp ecx, 0xf
jbe 0x10105f3d
mov edx, dword [ebp - 0x450]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105f33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10105f8d
push ecx
push edx
call fcn.10151441
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10151433
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10155291
call fcn.10155291
call fcn.10155291
call fcn.10155291
call fcn.10155291
call fcn.10002f50
call fcn.10155291
call fcn.10002f50
call fcn.10002f50
call fcn.10155291
call fcn.10155291
call fcn.10002f50
int3