Function at 0x557d10
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7082dd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x164
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0xf0], ecx
xor edi, edi
push 1
mov ecx, esi
mov dword [ebp - 0x20], edi
call fcn.0054cde0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.005572a0
add esp, 4
test al, al
jne 0x559900
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], al
mov dword [ebp - 4], edi
cmp byte [esi + 0x12c], al
je 0x557de8
cmp byte [esi + 0x12c], 0
lea eax, [esi + 0x114]
je 0x557da2
push eax
lea ecx, [ebp - 0xe0]
call fcn.00470690
jmp 0x557dc0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xcc], 0xf
mov dword [ebp - 0xd0], 0
movups xmm0, xmmword [ebp - 0xe0]
mov edi, 1
mov dword [ebp - 0x20], edi
movups xmmword [ebp - 0x140], xmm0
movq xmm0, qword [ebp - 0xd0]
movq qword [ebp - 0x130], xmm0
jmp 0x557e0a
mov ecx, 0x74f720
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x557df0
sub ecx, edx
push ecx
push 0x74f720
lea ecx, [ebp - 0x140]
call fcn.00473620
push 0x38
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
call fcn.004e7f70
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
push eax
push 0x10
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 2
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x50], 8
mov dword [ebp - 0x6c], 0x3f800000
call fcn.00481400
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 3
mov eax, dword [ecx + 0x3c]
mov esi, dword [ecx + 0x38]
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x5580bf
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
test eax, eax
jg 0x557eb0
jl 0x557e92
test ecx, ecx
jae 0x557eb0
neg ecx
adc eax, 0
neg eax
push eax
push ecx
lea eax, [ebp - 0xb3]
push eax
call fcn.004c1680
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x557ec0
push eax
push ecx
lea eax, [ebp - 0xb3]
push eax
call fcn.004c1680
mov ecx, eax
lea eax, [ebp - 0xb3]
mov dword [ebp - 0x4c], 0
add esp, 0xc
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
cmp ecx, eax
je 0x557ef2
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.00473620
or edi, 6
mov dword [ebp - 0x20], edi
cmp dword [esi + 0x14], 0x10
mov edx, esi
mov byte [ebp - 4], 4
jb 0x557f06
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
cmp dword [esi + 0x10], ecx
jbe 0x557f24
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, dword [esi + 0x10]
jb 0x557f12
push edi
push esi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x6c]
call fcn.004b1f90
cmp dword [ebp - 0x28], 0
jne 0x558072
cmp dword [ebp - 0x64], 0x4924924
je 0x559912
lea eax, [ebp - 0x68]
mov dword [ebp - 0x34], eax
push 0x38
mov byte [ebp - 4], 5
mov dword [ebp - 0x30], 0
call fcn.004e7f70
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], eax
add eax, 8
mov ecx, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.00470690
mov eax, dword [ebp - 0x14]
movups xmm0, xmmword [ebp - 0x4c]
mov byte [ebp - 0x4c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
movups xmmword [eax + 0x18], xmm0
movq xmm0, qword [ebp - 0x3c]
movq qword [eax + 0x28], xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 6
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
mov eax, dword [ebp - 0x50]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x6c]
seta al
test al, al
je 0x558022
lea ecx, [ebp - 0x6c]
call fcn.004b3f80
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x6c]
push edi
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004b1f90
mov ecx, dword [ebp - 0x64]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
jmp 0x558025
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
inc ecx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], 0
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov dword [eax], ecx
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x60]
and eax, edi
mov edi, dword [edx + eax*8]
cmp edi, dword [ebp - 0x68]
jne 0x55805b
mov dword [edx + eax*8], ecx
jmp 0x55806e
cmp edi, dword [ebp - 0x14]
jne 0x558065
mov dword [edx + eax*8], ecx
jmp 0x558072
mov edi, dword [ebp - 0x18]
cmp dword [edx + eax*8 + 4], edi
jne 0x558072
mov dword [edx + eax*8 + 4], ecx
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 3
cmp eax, 0x10
jb 0x5580ac
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x5580a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
add esi, 0x20
cmp esi, dword [ebp - 0x24]
je 0x5580bc
mov edi, dword [ebp - 0x20]
jmp 0x557e82
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x48]
mov edi, dword [ecx + 0x44]
mov dword [ebp - 0x24], eax
cmp edi, eax
je 0x5582db
push dword [edi + 0x1c]
lea eax, [ebp - 0xb3]
push dword [edi + 0x18]
push eax
call fcn.004c1680
mov ecx, eax
mov dword [ebp - 0x4c], 0
lea eax, [ebp - 0xb3]
mov dword [ebp - 0x3c], 0
add esp, 0xc
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
cmp ecx, eax
je 0x558116
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.00473620
or dword [ebp - 0x20], 0x18
cmp dword [edi + 0x14], 0x10
mov edx, edi
mov byte [ebp - 4], 7
jb 0x558128
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x558146
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x558134
push esi
push edi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x6c]
call fcn.004b1f90
cmp dword [ebp - 0x28], 0
jne 0x558294
cmp dword [ebp - 0x64], 0x4924924
je 0x559912
lea eax, [ebp - 0x68]
mov dword [ebp - 0x34], eax
push 0x38
mov byte [ebp - 4], 8
mov dword [ebp - 0x30], 0
call fcn.004e7f70
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], eax
add eax, 8
mov ecx, eax
mov dword [ebp - 0x14], eax
push edi
call fcn.00470690
mov eax, dword [ebp - 0x14]
movups xmm0, xmmword [ebp - 0x4c]
mov byte [ebp - 0x4c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
movups xmmword [eax + 0x18], xmm0
movq xmm0, qword [ebp - 0x3c]
movq qword [eax + 0x28], xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 9
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
mov eax, dword [ebp - 0x50]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x6c]
seta al
test al, al
je 0x558244
lea ecx, [ebp - 0x6c]
call fcn.004b3f80
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x6c]
push esi
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004b1f90
mov ecx, dword [ebp - 0x64]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
jmp 0x558247
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
inc ecx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], 0
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov dword [eax], ecx
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x60]
and eax, esi
mov esi, dword [edx + eax*8]
cmp esi, dword [ebp - 0x68]
jne 0x55827d
mov dword [edx + eax*8], ecx
jmp 0x558290
cmp esi, dword [ebp - 0x14]
jne 0x558287
mov dword [edx + eax*8], ecx
jmp 0x558294
mov esi, dword [ebp - 0x18]
cmp dword [edx + eax*8 + 4], esi
jne 0x558294
mov dword [edx + eax*8 + 4], ecx
mov edx, dword [ebp - 0x38]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x5582cc
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5582c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
add edi, 0x20
cmp edi, dword [ebp - 0x24]
jne 0x5580d0
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x50]
mov eax, dword [ecx + 0x54]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], eax
cmp edi, eax
je 0x558597
nop
movsd xmm0, qword [edi + 0x18]
sub esp, 8
movsd qword [ebp - 0x80], xmm0
movsd qword [esp], xmm0
push 0x71c714
call fcn.004cb950
mov edi, eax
mov dword [ebp - 0x4c], 0
add esp, 0xc
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
cmp edi, 0xf
ja 0x55834b
push edi
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x3c], edi
push 0
push eax
call fcn.006c2360
mov byte [ebp + edi - 0x4c], 0
mov eax, dword [ebp - 0x4c]
jmp 0x5583d9
cmp edi, 0x7fffffff
ja 0x559926
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x55836e
mov esi, bind
lea ecx, [esi + 0x24]
jmp 0x55838e
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x5583ac
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x55991c
push ecx
call fcn.004e7f70
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x559921
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x5583bd
test eax, eax
je 0x5583bb
push eax
call fcn.004e7f70
add esp, 4
jmp 0x5583bd
xor eax, eax
push edi
push 0
push eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], esi
call fcn.006c2360
mov eax, dword [ebp - 0x1c]
mov byte [eax + edi], 0
mov dword [ebp - 0x4c], eax
or dword [ebp - 0x20], 0x20
lea ecx, [ebp - 0x4c]
movsd xmm0, qword [ebp - 0x80]
add esp, 0xc
cmp dword [ebp - 0x38], 0x10
cmovae ecx, eax
sub esp, 8
lea eax, [edi + 1]
movsd qword [esp], xmm0
push 0x71c714
push eax
push ecx
call fcn.004b5680
add esp, 0x14
mov edi, dword [ebp - 0x14]
mov edx, edi
mov byte [ebp - 4], 0xa
cmp dword [edi + 0x14], 0x10
jb 0x55841a
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x558438
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x558426
push esi
push edi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x6c]
call fcn.004b1f90
cmp dword [ebp - 0x28], 0
jne 0x55854d
cmp dword [ebp - 0x64], 0x4924924
je 0x559912
lea eax, [ebp - 0x68]
mov dword [ebp - 0x34], eax
push 0x38
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x30], 0
call fcn.004e7f70
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], eax
lea ecx, [eax + 8]
push edi
call fcn.00470690
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x30], 0
mov dword [ecx + 0x34], 0
movups xmm0, xmmword [ebp - 0x4c]
movups xmmword [ecx + 0x20], xmm0
movq xmm0, qword [ebp - 0x3c]
movq qword [ecx + 0x30], xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov eax, dword [ebp - 0x64]
inc eax
mov byte [ebp - 4], 0xc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
mov eax, dword [ebp - 0x50]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x6c]
seta al
test al, al
je 0x558536
lea ecx, [ebp - 0x6c]
call fcn.004b3f80
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x74]
push esi
add ecx, 8
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004b1f90
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
jmp 0x558539
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x1c]
mov dword [ebp - 0x30], 0
push ecx
push esi
lea ecx, [ebp - 0x6c]
call fcn.004b39b0
mov edx, dword [ebp - 0x38]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x558585
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55857b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
add edi, 0x20
mov dword [ebp - 0x14], edi
cmp edi, dword [ebp - 0x10]
jne 0x5582f0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6c]
mov esi, dword [ecx + 0x68]
mov dword [ebp - 0x10], eax
cmp esi, eax
je 0x55866a
mov ecx, 0x713a4c
nop dword [eax]
cmp byte [esi + 0x18], 0
mov edx, 0x713a54
mov dword [ebp - 0xb0], 0
cmove edx, ecx
mov dword [ebp - 0xa0], 0
mov ecx, edx
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5585e6
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xb0]
call fcn.00473620
or dword [ebp - 0x20], 0x40
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xd
push eax
push esi
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x6c]
call fcn.004c9860
mov edx, dword [ebp - 0x9c]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x558656
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55864c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
add esi, 0x1c
mov ecx, 0x713a4c
cmp esi, dword [ebp - 0x10]
jne 0x5585b0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x150]
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
cmp esi, eax
je 0x5586c3
nop dword [eax]
lea edi, [esi + 8]
lea eax, [edi + 0x18]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.0054d4b0
add esp, 8
push eax
push edi
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x6c]
call fcn.004c9860
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x10]
jne 0x558680
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x60]
mov esi, dword [ecx + 0x5c]
mov dword [ebp - 0x10], eax
cmp esi, eax
je 0x5587e2
push esi
lea ecx, [ebp - 0x6c]
call fcn.00475f40
mov edi, eax
lea ecx, [ebp - 0x6c]
push edi
push esi
lea eax, [ebp - 0x74]
push eax
call fcn.004b1f90
cmp dword [ebp - 0x70], 0
jne 0x5587d3
cmp dword [ebp - 0x64], 0x4924924
je 0x559912
lea eax, [ebp - 0x68]
mov dword [ebp - 0x34], eax
push 1
mov ecx, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x30], 0
call fcn.004b44f0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], eax
add eax, 8
push esi
mov ecx, eax
mov dword [ebp - 0x28], eax
call fcn.00470690
mov ecx, dword [ebp - 0x1c]
lea eax, [esi + 0x18]
push eax
mov byte [ebp - 4], 0x10
lea ecx, [ecx + 0x20]
call fcn.00470690
mov eax, dword [ebp - 0x64]
inc eax
mov byte [ebp - 4], 0x11
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
mov eax, dword [ebp - 0x50]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x6c]
seta al
test al, al
je 0x5587b8
lea ecx, [ebp - 0x6c]
call fcn.004b3f80
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
push edi
add eax, 8
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004b1f90
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
jmp 0x5587bb
mov ecx, dword [ebp - 0x74]
push dword [ebp - 0x1c]
mov dword [ebp - 0x30], 0
push ecx
push edi
lea ecx, [ebp - 0x6c]
call fcn.004b39b0
mov byte [ebp - 4], 3
add esi, 0x30
cmp esi, dword [ebp - 0x10]
jne 0x5586d4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x78]
mov dword [ebp - 0x70], eax
mov edi, dword [eax]
mov dword [ebp - 0x18], edi
cmp edi, eax
je 0x558d3c
nop word [eax + eax]
push 0
lea ecx, [ebp - 0xec]
call fcn.004ef730
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x12
call fcn.004f3760
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
cmp esi, eax
je 0x55885b
mov edi, eax
nop word [eax + eax]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xec]
call fcn.004f3810
push dword [esi + 0x24]
lea ecx, [ebp - 0xec]
push dword [esi + 0x20]
call fcn.004f33f0
mov eax, dword [esi]
mov esi, eax
cmp eax, edi
jne 0x558830
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0xec]
call fcn.004f3090
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xec]
call fcn.004f3780
lea ecx, [ebp - 0xec]
call fcn.004ef980
mov ecx, dword [edi + 0x18]
lea esi, [edi + 8]
mov eax, bind
mov byte [ebp - 4], 0x13
sub eax, ecx
mov dword [ebp - 0x18], ecx
cmp eax, 7
jb 0x559926
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x24], esi
jb 0x5588ae
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
lea edx, [ecx + 7]
mov dword [ebp - 0x98], 0
mov eax, 0xf
mov dword [ebp - 0x10], edx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], ecx
cmp edx, eax
jbe 0x55890f
mov eax, edx
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x5588e3
mov eax, bind
jmp 0x5588ee
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x98]
inc eax
push eax
call fcn.00473560
mov edx, dword [ebp - 0x10]
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x98], ecx
push dword [ebp - 0x18]
mov dword [ebp - 0x88], edx
push dword [ebp - 0x24]
mov dword [ebp - 0x84], eax
push ecx
call fcn.006c1de0
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp - 0x18]
mov eax, dword [str._int64s]
or dword [ebp - 0x20], 0x180
mov dword [ecx + edx], eax
mov ax, word [0x74ef30]
mov word [ecx + edx + 4], ax
mov al, byte [0x74ef32]
mov byte [ecx + edx + 6], al
mov byte [ecx + edx + 7], 0
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00554410
mov edx, dword [ebp - 0x84]
mov byte [ebp - 4], 0x13
cmp edx, 0x10
jb 0x5589b4
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5589aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x78], eax
mov esi, dword [eax]
cmp esi, eax
je 0x558d29
mov ecx, dword [esi + 0x20]
lea eax, [esi + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [eax + 0x1c]
test eax, eax
jg 0x558a07
jl 0x5589e9
test ecx, ecx
jae 0x558a07
neg ecx
adc eax, 0
neg eax
push eax
push ecx
lea eax, [ebp - 0xb3]
push eax
call fcn.004c1680
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x558a17
push eax
push ecx
lea eax, [ebp - 0xb3]
push eax
call fcn.004c1680
mov ecx, eax
lea eax, [ebp - 0xb3]
mov dword [ebp - 0xb0], 0
add esp, 0xc
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
cmp ecx, eax
je 0x558a58
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0xb0]
call fcn.00473620
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x14], ecx
jb 0x558a70
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jae 0x558a89
movups xmm0, xmmword [eax]
mov eax, 0xf
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x24], eax
movups xmmword [ebp - 0x4c], xmm0
jmp 0x558ac8
mov eax, ecx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], eax
inc eax
push eax
call fcn.00473560
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x1c]
push ecx
push eax
push dword [ebp - 0x4c]
call fcn.006c1de0
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
cmp dword [edi + 0x1c], 0x10
lea edx, [edi + 8]
mov eax, dword [edx + 0x10]
mov ecx, edx
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
jb 0x558ae8
mov ecx, dword [edx]
mov dword [ebp - 0x18], ecx
cmp eax, 0x10
jae 0x558b09
movups xmm0, xmmword [ecx]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], 0xf
movups xmmword [ebp - 0x98], xmm0
jmp 0x558b52
or eax, 0xf
mov ecx, bind
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x10], eax
inc eax
push eax
call fcn.00473560
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x98], eax
push ecx
push dword [ebp - 0x18]
push eax
call fcn.006c1de0
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x84], eax
push 0x71ca3c
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.004daec0
add esp, 0xc
cmp dword [ebp - 0x24], 0x10
lea ecx, [ebp - 0x4c]
mov edx, dword [ebp - 0x14]
cmovae ecx, dword [ebp - 0x4c]
push edx
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x19
call fcn.0049ae20
push eax
lea ecx, [ebp - 0xe0]
call fcn.00470640
or dword [ebp - 0x20], 0x1e00
lea ecx, [ebp - 0x110]
call fcn.004716c0
lea ecx, [ebp - 0x98]
call fcn.004716c0
lea ecx, [ebp - 0x4c]
call fcn.004716c0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x6c]
call fcn.00475f40
push eax
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x6c]
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004b1f90
cmp dword [ebp - 0x28], 0
jne 0x558cd1
cmp dword [ebp - 0x64], 0x4924924
je 0x559912
lea eax, [ebp - 0x68]
mov dword [ebp - 0x34], eax
push 1
mov ecx, eax
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x30], 0
call fcn.004b44f0
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x30], eax
add eax, 8
push ecx
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00470640
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ecx + 0x18]
call fcn.00470640
mov eax, dword [ebp - 0x64]
inc eax
mov byte [ebp - 4], 0x1c
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
mov eax, dword [ebp - 0x50]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x6c]
seta al
test al, al
je 0x558cb8
lea ecx, [ebp - 0x6c]
call fcn.004b3f80
push dword [ebp - 0x14]
lea eax, [ebp - 0xf8]
push dword [ebp - 0x18]
lea ecx, [ebp - 0x6c]
push eax
call fcn.004b1f90
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
jmp 0x558cbb
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x10]
mov dword [ebp - 0x30], 0
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x6c]
call fcn.004b39b0
lea ecx, [ebp - 0xe0]
call fcn.004716c0
mov eax, dword [ebp - 0x9c]
mov byte [ebp - 4], 3
cmp eax, 0x10
jb 0x558d1c
mov ecx, dword [ebp - 0xb0]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x558d12
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x78]
jne 0x5589d3
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x70]
jne 0x558800
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x98]
mov dword [ebp - 0x28], eax
mov edi, dword [eax]
mov dword [ebp - 0x24], edi
cmp edi, eax
je 0x559270
push 0
lea ecx, [ebp - 0xc0]
call fcn.004ef730
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x1d
call fcn.004f3760
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
cmp esi, eax
je 0x558dab
mov edi, eax
nop dword [eax]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xc0]
call fcn.004f3810
push dword [esi + 0x24]
lea ecx, [ebp - 0xc0]
push dword [esi + 0x20]
call fcn.004f33f0
mov eax, dword [esi]
mov esi, eax
cmp eax, edi
jne 0x558d80
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0xc0]
call fcn.004f3090
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xc0]
call fcn.004f3780
lea ecx, [ebp - 0xc0]
call fcn.004ef980
mov ecx, dword [edi + 0x18]
lea esi, [edi + 8]
mov eax, bind
mov byte [ebp - 4], 0x1e
sub eax, ecx
mov dword [ebp - 0x14], ecx
cmp eax, 8
jb 0x559926
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x1c], esi
jb 0x558dfe
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
lea edx, [ecx + 8]
mov dword [ebp - 0x98], 0
mov eax, 0xf
mov dword [ebp - 0x70], edx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x10], ecx
cmp edx, eax
jbe 0x558e5f
mov eax, edx
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x558e33
mov eax, bind
jmp 0x558e3e
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x98]
inc eax
push eax
call fcn.00473560
mov edx, dword [ebp - 0x70]
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x98], ecx
push dword [ebp - 0x14]
mov dword [ebp - 0x88], edx
push dword [ebp - 0x1c]
mov dword [ebp - 0x84], eax
push ecx
call fcn.006c1de0
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov edi, dword [ebp - 0x14]
mov eax, dword [str._uint64s]
mov ecx, dword [0x74ef38]
or dword [ebp - 0x20], 0x6000
mov dword [edx + edi], eax
mov eax, edi
mov dword [edx + eax + 4], ecx
mov byte [edx + eax + 8], 0
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00554410
mov edx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 4], 0x1e
cmp edx, 0x10
jb 0x558f02
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x558ef8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x78], eax
mov esi, dword [eax]
cmp esi, eax
je 0x55925d
push dword [esi + 0x24]
lea eax, [esi + 8]
push dword [eax + 0x18]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x37]
push eax
call fcn.004c1680
mov ecx, eax
mov dword [ebp - 0xe0], 0
lea eax, [ebp - 0x37]
mov dword [ebp - 0xd0], 0
add esp, 0xc
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
cmp ecx, eax
je 0x558f76
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0xe0]
call fcn.00473620
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x20
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1c], ecx
jb 0x558f8e
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jae 0x558fad
movups xmm0, xmmword [eax]
mov eax, 0xf
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x24], eax
movups xmmword [ebp - 0x98], xmm0
jmp 0x558ff8
mov eax, ecx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x24], eax
inc eax
push eax
call fcn.00473560
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x14]
push ecx
push eax
push dword [ebp - 0x98]
call fcn.006c1de0
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x84], eax
cmp dword [edi + 0x1c], 0x10
lea ecx, [edi + 8]
mov eax, dword [ecx + 0x10]
mov edx, ecx
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
jb 0x55901b
mov edx, dword [ecx]
mov dword [ebp - 0x10], edx
cmp eax, 0x10
jae 0x55903c
movups xmm0, xmmword [edx]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], 0xf
movups xmmword [ebp - 0xb0], xmm0
jmp 0x559085
or eax, 0xf
mov ecx, bind
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x70], eax
inc eax
push eax
call fcn.00473560
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0xb0], eax
push ecx
push dword [ebp - 0x10]
push eax
call fcn.006c1de0
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x9c], eax
push 0x71ca3c
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004daec0
add esp, 0xc
cmp dword [ebp - 0x24], 0x10
lea ecx, [ebp - 0x98]
mov edx, dword [ebp - 0x1c]
cmovae ecx, dword [ebp - 0x98]
push edx
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.0049ae20
push eax
lea ecx, [ebp - 0x110]
call fcn.00470640
or dword [ebp - 0x20], 0x78000
lea ecx, [ebp - 0x4c]
call fcn.004716c0
lea ecx, [ebp - 0xb0]
call fcn.004716c0
lea ecx, [ebp - 0x98]
call fcn.004716c0
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [ebp - 0x6c]
call fcn.00475f40
push eax
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x6c]
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004b1f90
cmp dword [ebp - 0x30], 0
jne 0x559207
cmp dword [ebp - 0x64], 0x4924924
je 0x559912
lea eax, [ebp - 0x68]
mov dword [ebp - 0x80], eax
push 1
mov ecx, eax
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x7c], 0
call fcn.004b44f0
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x7c], eax
add eax, 8
push ecx
mov ecx, eax
mov dword [ebp - 0x10], eax
call fcn.00470640
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ecx + 0x18]
call fcn.00470640
mov eax, dword [ebp - 0x64]
inc eax
mov byte [ebp - 4], 0x27
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
mov eax, dword [ebp - 0x50]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x715c60]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x6c]
seta al
test al, al
je 0x5591ee
lea ecx, [ebp - 0x6c]
call fcn.004b3f80
push dword [ebp - 0x18]
lea eax, [ebp - 0xe8]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x6c]
push eax
call fcn.004b1f90
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], eax
jmp 0x5591f1
mov ecx, dword [ebp - 0x34]
push dword [ebp - 0x70]
mov dword [ebp - 0x7c], 0
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x6c]
call fcn.004b39b0
lea ecx, [ebp - 0x110]
call fcn.004716c0
mov edx, dword [ebp - 0xcc]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x559250
mov ecx, dword [ebp - 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x559246
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x78]
jne 0x558f21
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x28]
jne 0x558d52
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb8]
mov dword [ebp - 0x78], eax
mov edi, dword [eax]
mov dword [ebp - 0x10], edi
cmp edi, eax
je 0x5595c9
nop word [eax + eax]
push 0
lea ecx, [ebp - 0xc0]
call fcn.004ef730
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x28
call fcn.004f3760
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
cmp esi, eax
je 0x5592f2
mov edi, eax
nop word [eax + eax]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xc0]
call fcn.004f3810
movsd xmm0, qword [esi + 0x20]
lea ecx, [ebp - 0xc0]
sub esp, 8
movsd qword [esp], xmm0
call fcn.004f2f40
mov eax, dword [esi]
mov esi, eax
cmp eax, edi
jne 0x5592c0
mov edi, dword [ebp - 0x10]
lea ecx, [ebp - 0xc0]
call fcn.004f3090
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xc0]
call fcn.004f3780
lea ecx, [ebp - 0xc0]
call fcn.004ef980
mov edx, dword [edi + 0x18]
lea ecx, [edi + 8]
mov eax, bind
mov byte [ebp - 4], 0x29
sub eax, edx
mov dword [ebp - 0x14], edx
cmp eax, 8
jb 0x559926
cmp dword [ecx + 0x14], 0x10
mov dword [ebp - 0x10], ecx
jb 0x559345
mov eax, dword [ecx]
mov dword [ebp - 0x10], eax
lea ecx, [edx + 8]
mov dword [ebp - 0xb0], 0
mov esi, 0xf
mov dword [ebp - 0x28], ecx
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x18], eax
cmp ecx, esi
jbe 0x5593a4
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x55937b
mov esi, bind
jmp 0x559386
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00473560
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xb0], eax
push edx
push dword [ebp - 0x10]
mov dword [ebp - 0xa0], ecx
push eax
mov dword [ebp - 0x9c], esi
call fcn.006c1de0
mov edx, dword [ebp - 0x18]
add esp, 0xc
mov esi, dword [ebp - 0x14]
mov eax, dword [str._doubles]
mov ecx, dword [0x74ef4c]
or dword [ebp - 0x20], 0x180000
mov dword [edx + esi], eax
mov dword [edx + esi + 4], ecx
mov byte [edx + esi + 8], 0
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x2a
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00554410
mov edx, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x29
cmp edx, 0x10
jb 0x559440
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x559436
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x559921
push edx
push ecx
call fcn.004e7fa0
add esp, 8
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x70], eax
mov esi, dword [eax]
cmp esi, eax
je 0x5595b6
nop
movsd xmm0, qword [esi + 0x20]
sub esp, 8
movsd qword [ebp - 0x80], xmm0
movsd qword [esp], xmm0
push 0x71c714
call fcn.004cb950
add esp, 0xc
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
cmp eax, 0xf
ja 0x5594b9
push eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.006c2360
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0x4c], 0
jmp 0x559512
cmp eax, 0x7fffffff
ja 0x559926
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x5594d5
mov eax, bind
jmp 0x5594e0
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x4c]
inc eax
push eax
call fcn.00473560
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
push ecx
push 0
push eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
call fcn.006c2360
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov byte [eax + ecx], 0
mov dword [ebp - 0x4c], eax
movsd xmm0, qword [ebp - 0x80]
lea eax, [ecx + 1]
or dword [ebp - 0x20], 0x200000
lea ecx, [ebp - 0x4c]
add esp, 0xc
sub esp, 8
movsd qword [esp], xmm0
push 0x71c714
push eax
push 0
call fcn.004b2d70
push eax
call fcn.004b5680
push ecx
lea eax, [esi + 8]
mov dword [ebp - 0x28], esp
mov ecx, esp
mov byte [ebp - 4], 0x2b
push eax
call fcn.00470690
sub esp, 0x18
mov byte [ebp - 4], 0x2c
lea eax, [edi + 8]
mov ecx, esp
push eax
call fcn.00470690
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x2b
push eax
call fcn.0054cbe0
add esp, 0x34
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x2d
push ecx
push eax
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00554410
lea ecx, [ebp - 0x110]
call fcn.004716c0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x70]
jne 0x559460
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x78]
jne 0x559290
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xf8]
mov dword [ebp - 0x78], eax
mov edi, dword [eax]
mov dword [ebp - 0x10], edi
cmp edi, eax
je 0x5596ff
nop
lea eax, [edi + 8]
mov dword [ebp - 0x28], eax
add eax, 0x18
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00541630
mov esi, eax
push str._bools
lea eax, [edi + 8]
mov byte [ebp - 4], 0x2e
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.004daec0
add esp, 0x14
push esi
push eax
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x6c]
call fcn.00554410
lea ecx, [ebp - 0x110]
call fcn.004716c0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x70], eax
mov esi, dword [eax]
cmp esi, eax
je 0x5596ec
mov edi, dword [ebp - 0x28]
nop word [eax + eax]
movzx eax, byte [esi + 0x20]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.0054b090
mov dword [ebp - 0x28], eax
sub esp, 0x10
mov byte [ebp - 4], 0x30
lea edx, [esi + 8]
mov dword [ebp - 0x18], esp
mov ecx, esp
push edx
call fcn.00470690
sub esp, 0x18
mov byte [ebp - 4], 0x31
mov ecx, esp
push edi
call fcn.00470690
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x30
push eax
call fcn.0054cbe0
add esp, 0x34
push dword [ebp - 0x28]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x32
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.00554410
lea ecx, [ebp - 0x110]
call fcn.004716c0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x70]
jne 0x559660
mov edi, dword [ebp - 0x10]
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x78]
jne 0x5595e0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xd8]
mov dword [ebp - 0x78], eax
mov edi, dword [eax]
mov dword [ebp - 0x10], edi
cmp edi, eax
je 0x5597fd
lea eax, [edi + 8]
mov dword [ebp - 0x28], eax
add eax, 0x18
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00541500
mov esi, eax
push str._strings
lea eax, [edi + 8]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.004daec0
add esp, 0x14
push esi
push eax
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0x34
push eax
lea ecx, [ebp - 0x6c]
call fcn.00554410
lea ecx, [ebp - 0x110]
call fcn.004716c0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x70], eax
mov esi, dword [eax]
cmp esi, eax
je 0x5597ed
mov edi, dword [ebp - 0x28]
lea edx, [esi + 8]
lea eax, [edx + 0x18]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x28], esp
push edx
call fcn.00470690
sub esp, 0x18
mov byte [ebp - 4], 0x35
mov ecx, esp
push edi
call fcn.00470690
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 3
push eax
call fcn.0054cbe0
add esp, 0x34
push eax
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0x6c]
call fcn.00554270
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 3
call fcn.004716c0
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x70]
jne 0x559787
mov edi, dword [ebp - 0x10]
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x78]
jne 0x559715
cmp byte [0x991b00], 0
je 0x559834
cmp byte [0x7f130c], 0
je 0x559834
lea eax, [ebp - 0x10]
push eax
call fcn.0055bc30
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x559834
lea ecx, [ebp - 0x10]
call fcn.005561f0
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, eax
call fcn.0054d910
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x170]
push 0x71376a
push eax
lea ecx, [esi + 0x130]
call fcn.00554c20
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x37
push eax
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.005569f0
add esp, 0x10
mov ecx, dword [ebp - 0xf0]
add ecx, 0xc
mov byte [ebp - 4], 0x38
call fcn.005561f0
mov esi, dword [esi + 0xc]
sub esp, 0x18
mov edi, eax
mov dword [ebp + 8], esp
lea eax, [ebp - 0x140]
mov ecx, esp
push eax
call fcn.00470690
sub esp, 0x18
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x158]
mov ecx, esp
push eax
call fcn.00470690
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x38
call fcn.00555750
push esi
push eax
mov ecx, edi
mov byte [ebp - 4], 0x3a
call fcn.00560dc0
lea ecx, [ebp - 0x128]
call fcn.00498340
lea ecx, [ebp - 0x158]
call fcn.004716c0
lea ecx, [ebp - 0x170]
call fcn.004716c0
lea ecx, [ebp - 0x6c]
call fcn.00498480
lea ecx, [ebp - 0x140]
call fcn.004716c0
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 4
push str.unordered_map_set_too_long
call fcn.006ab32d
call fcn.00473380
call fcn.006cc674
call fcn.004733c0
int3