Function at 0x57c810
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x73c81f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x114], ecx
xor edi, edi
push 1
mov ecx, esi
mov dword [ebp - 0x18], edi
call fcn.0056f340
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0057b870
add esp, 4
test al, al
jne 0x57e470
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], al
mov dword [ebp - 4], edi
cmp byte [esi + 0x134], al
je 0x57c8e8
cmp byte [esi + 0x134], 0
lea eax, [esi + 0x11c]
je 0x57c8a2
push eax
lea ecx, [ebp - 0xf8]
call fcn.0047b780
jmp 0x57c8c0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xe4], 0xf
mov dword [ebp - 0xe8], 0
movups xmm0, xmmword [ebp - 0xf8]
mov edi, 1
mov dword [ebp - 0x18], edi
movups xmmword [ebp - 0x13c], xmm0
movq xmm0, qword [ebp - 0xe8]
movq qword [ebp - 0x12c], xmm0
jmp 0x57c90a
mov ecx, 0x7899a8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x57c8f0
sub ecx, edx
push ecx
push 0x7899a8
lea ecx, [ebp - 0x13c]
call fcn.0047e790
lea ecx, [ebp - 0x58]
call fcn.004c6d20
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 1
mov eax, dword [ecx + 0x44]
mov esi, dword [ecx + 0x40]
mov dword [ebp - 0x34], eax
cmp esi, eax
je 0x57cb6d
nop word [eax + eax]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
test eax, eax
jg 0x57c95e
jl 0x57c940
test ecx, ecx
jae 0x57c95e
neg ecx
adc eax, 0
neg eax
push eax
push ecx
lea eax, [ebp - 0x9b]
push eax
call fcn.004d2bf0
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x57c96e
push eax
push ecx
lea eax, [ebp - 0x9b]
push eax
call fcn.004d2bf0
mov ecx, eax
lea eax, [ebp - 0x9b]
mov dword [ebp - 0x70], 0
add esp, 0xc
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp ecx, eax
je 0x57c9a0
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x70]
call fcn.0047e790
or edi, 6
mov dword [ebp - 0x18], edi
cmp dword [esi + 0x14], 0x10
mov edx, esi
mov byte [ebp - 4], 2
jb 0x57c9b4
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
cmp dword [esi + 0x10], ecx
jbe 0x57c9d2
movzx eax, byte [ecx + edx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, dword [esi + 0x10]
jb 0x57c9c0
push edi
push esi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.00493390
cmp dword [ebp - 0x24], 0
jne 0x57cb20
cmp dword [ebp - 0x50], 0x4924924
je 0x57e482
lea eax, [ebp - 0x54]
mov dword [ebp - 0x30], eax
push 0x38
mov byte [ebp - 4], 3
mov dword [ebp - 0x2c], 0
call fcn.00503d60
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], eax
add eax, 8
mov ecx, eax
mov dword [ebp - 0x10], eax
push esi
call fcn.0047b780
mov eax, dword [ebp - 0x10]
movups xmm0, xmmword [ebp - 0x70]
mov byte [ebp - 0x70], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
movups xmmword [eax + 0x18], xmm0
movq xmm0, qword [ebp - 0x60]
movq qword [eax + 0x28], xmm0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 4], 4
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
mov eax, dword [ebp - 0x3c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x58]
seta al
test al, al
je 0x57cad0
lea ecx, [ebp - 0x58]
call fcn.004c8160
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x58]
push edi
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00493390
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
jmp 0x57cad3
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
inc ecx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x2c], 0
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov dword [eax], ecx
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x4c]
and eax, edi
mov edi, dword [edx + eax*8]
cmp edi, dword [ebp - 0x54]
jne 0x57cb09
mov dword [edx + eax*8], ecx
jmp 0x57cb1c
cmp edi, dword [ebp - 0x10]
jne 0x57cb13
mov dword [edx + eax*8], ecx
jmp 0x57cb20
mov edi, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], edi
jne 0x57cb20
mov dword [edx + eax*8 + 4], ecx
mov eax, dword [ebp - 0x5c]
mov byte [ebp - 4], 1
cmp eax, 0x10
jb 0x57cb5a
mov ecx, dword [ebp - 0x70]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x57cb50
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57e491
push edx
push ecx
call fcn.00503df0
add esp, 8
add esi, 0x20
cmp esi, dword [ebp - 0x34]
je 0x57cb6a
mov edi, dword [ebp - 0x18]
jmp 0x57c930
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x50]
mov edi, dword [ecx + 0x4c]
mov dword [ebp - 0x34], eax
cmp edi, eax
je 0x57cdac
nop
push dword [edi + 0x1c]
lea eax, [ebp - 0x5b]
push dword [edi + 0x18]
push eax
call fcn.004d2bf0
mov ecx, eax
mov dword [ebp - 0xb0], 0
lea eax, [ebp - 0x5b]
mov dword [ebp - 0xa0], 0
add esp, 0xc
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
cmp ecx, eax
je 0x57cbcf
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0047e790
or dword [ebp - 0x18], 0x18
cmp dword [edi + 0x14], 0x10
mov edx, edi
mov byte [ebp - 4], 5
jb 0x57cbe1
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x57cc02
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x57cbf0
push esi
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.00493390
cmp dword [ebp - 0x24], 0
jne 0x57cd5f
cmp dword [ebp - 0x50], 0x4924924
je 0x57e482
lea eax, [ebp - 0x54]
mov dword [ebp - 0x30], eax
push 0x38
mov byte [ebp - 4], 6
mov dword [ebp - 0x2c], 0
call fcn.00503d60
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], eax
add eax, 8
mov ecx, eax
mov dword [ebp - 0x10], eax
push edi
call fcn.0047b780
mov eax, dword [ebp - 0x10]
movups xmm0, xmmword [ebp - 0xb0]
mov byte [ebp - 0xb0], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
movups xmmword [eax + 0x18], xmm0
movq xmm0, qword [ebp - 0xa0]
movq qword [eax + 0x28], xmm0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 4], 7
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
mov eax, dword [ebp - 0x3c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x58]
seta al
test al, al
je 0x57cd0f
lea ecx, [ebp - 0x58]
call fcn.004c8160
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x58]
push esi
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00493390
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
jmp 0x57cd12
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
inc ecx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x2c], 0
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov dword [eax], ecx
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x4c]
and eax, esi
mov esi, dword [edx + eax*8]
cmp esi, dword [ebp - 0x54]
jne 0x57cd48
mov dword [edx + eax*8], ecx
jmp 0x57cd5b
cmp esi, dword [ebp - 0x10]
jne 0x57cd52
mov dword [edx + eax*8], ecx
jmp 0x57cd5f
mov esi, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], esi
jne 0x57cd5f
mov dword [edx + eax*8 + 4], ecx
mov edx, dword [ebp - 0x9c]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x57cd9d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57cd93
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57e491
push edx
push ecx
call fcn.00503df0
add esp, 8
add edi, 0x20
cmp edi, dword [ebp - 0x34]
jne 0x57cb80
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x58]
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x20], eax
cmp edi, eax
je 0x57d0a7
movsd xmm0, qword [edi + 0x18]
sub esp, 8
movsd qword [ebp - 0x78], xmm0
movsd qword [esp], xmm0
push 0x753cec
call fcn.004eaa80
mov edi, eax
mov dword [ebp - 0x70], 0
add esp, 0xc
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp edi, 0xf
ja 0x57ce1b
push edi
lea eax, [ebp - 0x70]
mov dword [ebp - 0x60], edi
push 0
push eax
call fcn.006f4b50
mov byte [ebp + edi - 0x70], 0
mov eax, dword [ebp - 0x70]
jmp 0x57cea9
cmp edi, 0x7fffffff
ja 0x57e496
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x57ce3e
mov esi, bind
lea ecx, [esi + 0x24]
jmp 0x57ce5e
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x57ce7c
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x57e48c
push ecx
call fcn.00503d60
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x57e491
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x57ce8d
test eax, eax
je 0x57ce8b
push eax
call fcn.00503d60
add esp, 4
jmp 0x57ce8d
xor eax, eax
push edi
push 0
push eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], esi
call fcn.006f4b50
mov eax, dword [ebp - 0x34]
mov byte [eax + edi], 0
mov dword [ebp - 0x70], eax
or dword [ebp - 0x18], 0x20
lea ecx, [ebp - 0x70]
movsd xmm0, qword [ebp - 0x78]
add esp, 0xc
cmp dword [ebp - 0x5c], 0x10
cmovae ecx, eax
sub esp, 8
lea eax, [edi + 1]
movsd qword [esp], xmm0
push 0x753cec
push eax
push ecx
call fcn.004c9460
add esp, 0x14
mov edi, dword [ebp - 0x10]
mov edx, edi
mov byte [ebp - 4], 8
cmp dword [edi + 0x14], 0x10
jb 0x57ceea
mov edx, dword [edi]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edi + 0x10], ecx
jbe 0x57cf08
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edi + 0x10]
jb 0x57cef6
push esi
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.00493390
cmp dword [ebp - 0x24], 0
jne 0x57d05d
cmp dword [ebp - 0x50], 0x4924924
je 0x57e482
lea eax, [ebp - 0x54]
mov dword [ebp - 0x30], eax
push 0x38
mov byte [ebp - 4], 9
mov dword [ebp - 0x2c], 0
call fcn.00503d60
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], eax
add eax, 8
mov ecx, eax
mov dword [ebp - 0x10], eax
push edi
call fcn.0047b780
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x18], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
movups xmm0, xmmword [ebp - 0x70]
movups xmmword [eax + 0x18], xmm0
movq xmm0, qword [ebp - 0x60]
movq qword [eax + 0x28], xmm0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 4], 0xa
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
mov eax, dword [ebp - 0x3c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x58]
seta al
test al, al
je 0x57d00d
lea ecx, [ebp - 0x58]
call fcn.004c8160
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x58]
push esi
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00493390
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
jmp 0x57d010
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
inc ecx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x2c], 0
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov dword [eax], ecx
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x4c]
and eax, esi
mov esi, dword [edx + eax*8]
cmp esi, dword [ebp - 0x54]
jne 0x57d046
mov dword [edx + eax*8], ecx
jmp 0x57d059
cmp esi, dword [ebp - 0x10]
jne 0x57d050
mov dword [edx + eax*8], ecx
jmp 0x57d05d
mov esi, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], esi
jne 0x57d05d
mov dword [edx + eax*8 + 4], ecx
mov edx, dword [ebp - 0x5c]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x57d095
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57d08b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57e491
push edx
push ecx
call fcn.00503df0
add esp, 8
add edi, 0x20
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp - 0x20]
jne 0x57cdc0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x74]
mov esi, dword [ecx + 0x70]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x57d17a
mov ecx, 0x749f10
nop dword [eax]
cmp byte [esi + 0x18], 0
mov edx, 0x749f18
mov dword [ebp - 0x98], 0
cmove edx, ecx
mov dword [ebp - 0x88], 0
mov ecx, edx
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x57d0f6
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x98]
call fcn.0047e790
or dword [ebp - 0x18], 0x40
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
push eax
push esi
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x58]
call fcn.004e80f0
mov edx, dword [ebp - 0x84]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x57d166
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57d15c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57e491
push edx
push ecx
call fcn.00503df0
add esp, 8
add esi, 0x1c
mov ecx, 0x749f10
cmp esi, dword [ebp - 0x20]
jne 0x57d0c0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x15c]
mov dword [ebp - 0x20], eax
mov esi, dword [eax]
cmp esi, eax
je 0x57d1d3
nop dword [eax]
lea edi, [esi + 8]
lea eax, [edi + 0x18]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.0056f710
add esp, 8
push eax
push edi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x58]
call fcn.004e80f0
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x20]
jne 0x57d190
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x68]
mov esi, dword [ecx + 0x64]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x57d2f2
push esi
lea ecx, [ebp - 0x58]
call fcn.004810e0
mov edi, eax
lea ecx, [ebp - 0x58]
push edi
push esi
lea eax, [ebp - 0x80]
push eax
call fcn.00493390
cmp dword [ebp - 0x7c], 0
jne 0x57d2e3
cmp dword [ebp - 0x50], 0x4924924
je 0x57e482
lea eax, [ebp - 0x54]
mov dword [ebp - 0x30], eax
push 1
mov ecx, eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x2c], 0
call fcn.004c86e0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], eax
add eax, 8
push esi
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.0047b780
mov ecx, dword [ebp - 0x34]
lea eax, [esi + 0x18]
push eax
mov byte [ebp - 4], 0xe
lea ecx, [ecx + 0x20]
call fcn.0047b780
mov eax, dword [ebp - 0x50]
inc eax
mov byte [ebp - 4], 0xf
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
mov eax, dword [ebp - 0x3c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x58]
seta al
test al, al
je 0x57d2c8
lea ecx, [ebp - 0x58]
call fcn.004c8160
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x58]
push edi
add eax, 8
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00493390
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], eax
jmp 0x57d2cb
mov ecx, dword [ebp - 0x80]
push dword [ebp - 0x34]
mov dword [ebp - 0x2c], 0
push ecx
push edi
lea ecx, [ebp - 0x58]
call fcn.004c7b90
mov byte [ebp - 4], 1
add esi, 0x30
cmp esi, dword [ebp - 0x20]
jne 0x57d1e4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x80]
mov dword [ebp - 0x24], eax
mov edi, dword [eax]
mov dword [ebp - 0x14], edi
cmp edi, eax
je 0x57d7fd
nop dword [eax + eax]
push 0
lea ecx, [ebp - 0xa4]
call fcn.0050b410
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x10
call fcn.005100b0
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
cmp esi, eax
je 0x57d36b
mov edi, eax
nop word [eax + eax]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00510160
push dword [esi + 0x24]
lea ecx, [ebp - 0xa4]
push dword [esi + 0x20]
call fcn.0050f7e0
mov eax, dword [esi]
mov esi, eax
cmp eax, edi
jne 0x57d340
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0xa4]
call fcn.0050f3d0
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa4]
call fcn.005100d0
lea ecx, [ebp - 0xa4]
call fcn.0050b830
mov ecx, dword [edi + 0x18]
lea esi, [edi + 8]
mov eax, bind
mov byte [ebp - 4], 0x11
sub eax, ecx
cmp eax, 7
jb 0x57e496
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x57d3b7
mov eax, dword [esi]
push 7
push str._int64s
push ecx
push eax
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0xc8]
call fcn.004e6f60
or dword [ebp - 0x18], 0x180
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x58]
call fcn.00577090
lea ecx, [ebp - 0xc8]
call fcn.0047c810
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x7c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x57d7ea
mov ecx, dword [esi + 0x20]
lea eax, [esi + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [eax + 0x1c]
test eax, eax
jg 0x57d452
jl 0x57d437
test ecx, ecx
jae 0x57d452
neg ecx
adc eax, 0
neg eax
push eax
push ecx
lea eax, [ebp - 0x5b]
push eax
call fcn.004d2bf0
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x57d45f
push eax
push ecx
lea eax, [ebp - 0x5b]
push eax
call fcn.004d2bf0
mov ecx, eax
lea eax, [ebp - 0x5b]
mov dword [ebp - 0xc8], 0
add esp, 0xc
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
cmp ecx, eax
je 0x57d49d
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0xc8]
call fcn.0047e790
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x10], ecx
jb 0x57d4b5
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
cmp ecx, 0x10
jae 0x57d4d4
movups xmm0, xmmword [eax]
mov eax, 0xf
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x1c], eax
movups xmmword [ebp - 0x98], xmm0
jmp 0x57d51c
mov eax, ecx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], eax
inc eax
push eax
call fcn.0047e6a0
mov ecx, dword [ebp - 0x10]
mov edx, eax
mov eax, dword [ebp - 0x34]
inc ecx
push ecx
push eax
push edx
mov dword [ebp - 0x98], edx
call fcn.006f45d0
mov eax, dword [ebp - 0x10]
add esp, 0xc
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x84], eax
cmp dword [edi + 0x1c], 0x10
lea ecx, [edi + 8]
mov edx, dword [ecx + 0x10]
mov eax, ecx
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x34], ecx
jb 0x57d53f
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp edx, 0x10
jae 0x57d555
movups xmm0, xmmword [eax]
mov ecx, 0xf
movups xmmword [ebp - 0xe0], xmm0
jmp 0x57d594
mov eax, edx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x20], eax
inc eax
push eax
call fcn.0047e6a0
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0xe0], eax
push ecx
push dword [ebp - 0x34]
push eax
call fcn.006f45d0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], edx
mov eax, bind
mov byte [ebp - 4], 0x16
sub eax, edx
cmp eax, 1
jb 0x57e496
push 1
push 0x753798
cmp ecx, 0x10
lea eax, [ebp - 0xe0]
push edx
cmovae eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0x70]
push eax
lea eax, [ebp - 0xe0]
push eax
push dword [ebp + 8]
call fcn.004e6f60
cmp dword [ebp - 0x1c], 0x10
lea eax, [ebp - 0x98]
mov ecx, dword [ebp - 0x10]
cmovae eax, dword [ebp - 0x98]
push ecx
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x17
call fcn.00495e00
or dword [ebp - 0x18], 0x3e00
lea ecx, [ebp - 0x70]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xf8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xe8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.0047c810
lea ecx, [ebp - 0xe0]
call fcn.0047c810
lea ecx, [ebp - 0x98]
call fcn.0047c810
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x58]
call fcn.004810e0
push eax
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00493390
cmp dword [ebp - 0x2c], 0
jne 0x57d761
cmp dword [ebp - 0x50], 0x4924924
je 0x57e482
lea eax, [ebp - 0x54]
mov dword [ebp - 0x78], eax
push 1
mov ecx, eax
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x74], 0
call fcn.004c86e0
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x10], eax
push ecx
mov dword [ebp - 0x74], eax
lea ecx, [eax + 8]
call fcn.0047b730
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ecx + 0x20]
call fcn.0047b730
mov eax, dword [ebp - 0x50]
inc eax
mov byte [ebp - 4], 0x1a
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
mov eax, dword [ebp - 0x3c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x58]
seta al
test al, al
je 0x57d748
lea ecx, [ebp - 0x58]
call fcn.004c8160
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x58]
add eax, 8
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.00493390
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
jmp 0x57d74b
mov ecx, dword [ebp - 0x30]
push dword [ebp - 0x10]
mov dword [ebp - 0x74], 0
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x58]
call fcn.004c7b90
mov edx, dword [ebp - 0xe4]
mov byte [ebp - 4], 0x13
cmp edx, 0x10
jb 0x57d79f
mov ecx, dword [ebp - 0xf8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57d795
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57e491
push edx
push ecx
call fcn.00503df0
add esp, 8
mov edx, dword [ebp - 0xb4]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x57d7dd
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57d7d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57e491
push edx
push ecx
call fcn.00503df0
add esp, 8
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x7c]
jne 0x57d421
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x24]
jne 0x57d310
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa0]
mov dword [ebp - 0x20], eax
mov edi, dword [eax]
mov dword [ebp - 0x14], edi
cmp edi, eax
je 0x57dc87
push 0
lea ecx, [ebp - 0xa4]
call fcn.0050b410
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x1b
call fcn.005100b0
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
cmp esi, eax
je 0x57d86b
mov edi, eax
nop word [eax + eax]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00510160
push dword [esi + 0x24]
lea ecx, [ebp - 0xa4]
push dword [esi + 0x20]
call fcn.0050f7e0
mov eax, dword [esi]
mov esi, eax
cmp eax, edi
jne 0x57d840
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0xa4]
call fcn.0050f3d0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa4]
call fcn.005100d0
lea ecx, [ebp - 0xa4]
call fcn.0050b830
mov ecx, dword [edi + 0x18]
lea esi, [edi + 8]
mov eax, bind
mov byte [ebp - 4], 0x1c
sub eax, ecx
cmp eax, 8
jb 0x57e496
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x57d8b7
mov eax, dword [esi]
push 8
push str._uint64s
push ecx
push eax
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0xf8]
call fcn.004e6f60
or dword [ebp - 0x18], 0xc000
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x58]
call fcn.00577090
lea ecx, [ebp - 0xf8]
call fcn.0047c810
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x7c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x57dc74
push dword [esi + 0x24]
lea eax, [esi + 8]
push dword [eax + 0x18]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x5b]
push eax
call fcn.004d2bf0
mov ecx, eax
mov dword [ebp - 0xc8], 0
lea eax, [ebp - 0x5b]
mov dword [ebp - 0xb8], 0
add esp, 0xc
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
cmp ecx, eax
je 0x57d976
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0xc8]
call fcn.0047e790
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0x1e
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x34], ecx
jb 0x57d98e
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
cmp ecx, 0x10
jae 0x57d9ad
movups xmm0, xmmword [eax]
mov eax, 0xf
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x1c], eax
movups xmmword [ebp - 0x98], xmm0
jmp 0x57d9f5
mov eax, ecx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], eax
inc eax
push eax
call fcn.0047e6a0
mov ecx, dword [ebp - 0x34]
mov edx, eax
mov eax, dword [ebp - 0x10]
inc ecx
push ecx
push eax
push edx
mov dword [ebp - 0x98], edx
call fcn.006f45d0
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x84], eax
cmp dword [edi + 0x1c], 0x10
lea eax, [edi + 8]
mov edx, dword [eax + 0x10]
mov ecx, eax
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], eax
jb 0x57da18
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
cmp edx, 0x10
jae 0x57da2e
movups xmm0, xmmword [ecx]
mov ecx, 0xf
movups xmmword [ebp - 0xe0], xmm0
jmp 0x57da6d
mov eax, edx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x24], eax
inc eax
push eax
call fcn.0047e6a0
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0xe0], eax
push ecx
push dword [ebp - 0x14]
push eax
call fcn.006f45d0
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], edx
mov eax, bind
mov byte [ebp - 4], 0x21
sub eax, edx
cmp eax, 1
jb 0x57e496
push 1
push 0x753798
cmp ecx, 0x10
lea eax, [ebp - 0xe0]
push edx
cmovae eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0x70]
push eax
lea eax, [ebp - 0xe0]
push eax
push dword [ebp + 8]
call fcn.004e6f60
cmp dword [ebp - 0x1c], 0x10
lea eax, [ebp - 0x98]
mov ecx, dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x98]
push ecx
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x22
call fcn.00495e00
push eax
lea ecx, [ebp - 0xf8]
call fcn.0047b730
or dword [ebp - 0x18], 0x1f0000
lea ecx, [ebp - 0x70]
call fcn.0047c810
lea ecx, [ebp - 0xe0]
call fcn.0047c810
lea ecx, [ebp - 0x98]
call fcn.0047c810
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x58]
call fcn.004810e0
push eax
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00493390
cmp dword [ebp - 0x2c], 0
jne 0x57dc1e
cmp dword [ebp - 0x50], 0x4924924
je 0x57e482
lea eax, [ebp - 0x54]
mov dword [ebp - 0x78], eax
push 1
mov ecx, eax
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x74], 0
call fcn.004c86e0
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x10], eax
push ecx
mov dword [ebp - 0x74], eax
lea ecx, [eax + 8]
call fcn.0047b730
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ecx + 0x20]
call fcn.0047b730
mov eax, dword [ebp - 0x50]
inc eax
mov byte [ebp - 4], 0x25
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
mov eax, dword [ebp - 0x3c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x74c0b0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x58]
seta al
test al, al
je 0x57dc05
lea ecx, [ebp - 0x58]
call fcn.004c8160
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x58]
add eax, 8
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00493390
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
jmp 0x57dc08
mov ecx, dword [ebp - 0x30]
push dword [ebp - 0x10]
mov dword [ebp - 0x74], 0
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x58]
call fcn.004c7b90
lea ecx, [ebp - 0xf8]
call fcn.0047c810
mov edx, dword [ebp - 0xb4]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x57dc67
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57dc5d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57e491
push edx
push ecx
call fcn.00503df0
add esp, 8
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x7c]
jne 0x57d921
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
jne 0x57d813
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc0]
mov dword [ebp - 0x20], eax
mov edi, dword [eax]
mov dword [ebp - 0x14], edi
cmp edi, eax
je 0x57e135
nop dword [eax]
push 0
lea ecx, [ebp - 0xa4]
call fcn.0050b410
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x26
call fcn.005100b0
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
cmp esi, eax
je 0x57dd02
mov edi, eax
nop word [eax + eax]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00510160
movsd xmm0, qword [esi + 0x20]
lea ecx, [ebp - 0xa4]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0050f2a0
mov eax, dword [esi]
mov esi, eax
cmp eax, edi
jne 0x57dcd0
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0xa4]
call fcn.0050f3d0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa4]
call fcn.005100d0
lea ecx, [ebp - 0xa4]
call fcn.0050b830
mov ecx, dword [edi + 0x18]
lea esi, [edi + 8]
mov eax, bind
mov byte [ebp - 4], 0x27
sub eax, ecx
cmp eax, 8
jb 0x57e496
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x57dd4e
mov eax, dword [esi]
push 8
push str._doubles
push ecx
push eax
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0xf8]
call fcn.004e6f60
or dword [ebp - 0x18], 0x600000
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x28
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x58]
call fcn.00577090
lea ecx, [ebp - 0xf8]
call fcn.0047c810
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x7c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x57e122
nop dword [eax + eax]
movsd xmm0, qword [esi + 0x20]
lea eax, [esi + 8]
sub esp, 8
mov dword [ebp - 0x1c], eax
movsd qword [ebp - 0x38], xmm0
movsd qword [esp], xmm0
push 0x753cec
call fcn.004eaa80
add esp, 0xc
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp eax, 0xf
ja 0x57de22
push eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x70]
push 0
push eax
call fcn.006f4b50
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x70], 0
mov edx, dword [ebp - 0x70]
jmp 0x57de7d
cmp eax, 0x7fffffff
ja 0x57e496
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x57de3e
mov eax, bind
jmp 0x57de49
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x70]
inc eax
push eax
call fcn.0047e6a0
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov eax, dword [ebp - 0x10]
push eax
push 0
push edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
call fcn.006f4b50
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov byte [edx + eax], 0
mov dword [ebp - 0x70], edx
movsd xmm0, qword [ebp - 0x38]
lea ecx, [ebp - 0x70]
add esp, 0xc
cmp dword [ebp - 0x5c], 0x10
cmovae ecx, edx
sub esp, 8
inc eax
movsd qword [esp], xmm0
push 0x753cec
push eax
push ecx
call fcn.004c9460
add esp, 0x14
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x29
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x34], ecx
jb 0x57debf
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jae 0x57dede
movups xmm0, xmmword [eax]
mov eax, 0xf
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x10], eax
movups xmmword [ebp - 0x98], xmm0
jmp 0x57df26
mov eax, ecx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x10], eax
inc eax
push eax
call fcn.0047e6a0
mov ecx, dword [ebp - 0x34]
mov edx, eax
mov eax, dword [ebp - 0x1c]
inc ecx
push ecx
push eax
push edx
mov dword [ebp - 0x98], edx
call fcn.006f45d0
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x84], eax
cmp dword [edi + 0x1c], 0x10
lea eax, [edi + 8]
mov edx, dword [eax + 0x10]
mov ecx, eax
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], eax
jb 0x57df49
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
cmp edx, 0x10
jae 0x57df5f
movups xmm0, xmmword [ecx]
mov ecx, 0xf
movups xmmword [ebp - 0xe0], xmm0
jmp 0x57df9e
mov eax, edx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x24], eax
inc eax
push eax
call fcn.0047e6a0
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0xe0], eax
push ecx
push dword [ebp - 0x14]
push eax
call fcn.006f45d0
mov edx, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], edx
mov eax, bind
mov byte [ebp - 4], 0x2c
sub eax, edx
cmp eax, 1
jb 0x57e496
push 1
push 0x753798
cmp ecx, 0x10
lea eax, [ebp - 0xe0]
push edx
cmovae eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xe0]
push eax
push dword [ebp + 8]
call fcn.004e6f60
cmp dword [ebp - 0x10], 0x10
lea eax, [ebp - 0x98]
mov ecx, dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x98]
push ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x2d
call fcn.00495e00
push eax
lea ecx, [ebp - 0xf8]
call fcn.0047b730
or dword [ebp - 0x18], 0x7800000
lea ecx, [ebp - 0xc8]
call fcn.0047c810
lea ecx, [ebp - 0xe0]
call fcn.0047c810
lea ecx, [ebp - 0x98]
call fcn.0047c810
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x58]
call fcn.004810e0
push eax
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x58]
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00493390
cmp dword [ebp - 0x2c], 0
jne 0x57e0fe
lea ecx, [ebp - 0x58]
call fcn.004c7460
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x78]
call fcn.00575b20
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x2f
call fcn.004c7480
test al, al
je 0x57e0d9
lea ecx, [ebp - 0x58]
call fcn.004c8160
push dword [ebp - 0x10]
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x58]
add eax, 8
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00493390
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
jmp 0x57e0df
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x78]
call fcn.004c81f0
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0x58]
push dword [ebp - 0x10]
call fcn.004c7b90
lea ecx, [ebp - 0x78]
call fcn.004c6e30
lea ecx, [ebp - 0xf8]
call fcn.0047c810
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x7c]
jne 0x57ddc0
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
jne 0x57dca0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x100]
mov dword [ebp - 0x20], eax
mov edi, dword [eax]
mov dword [ebp - 0x14], edi
cmp edi, eax
je 0x57e26f
nop dword [eax + eax]
lea eax, [edi + 8]
mov dword [ebp - 0x24], eax
add eax, 0x18
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00564830
mov esi, eax
push str._bools
lea eax, [edi + 8]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.004e6a80
add esp, 0x14
push esi
push eax
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0x58]
call fcn.00577090
lea ecx, [ebp - 0xf8]
call fcn.0047c810
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x7c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x57e25c
mov edi, dword [ebp - 0x24]
nop word [eax + eax]
movzx eax, byte [esi + 0x20]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00518e70
mov dword [ebp - 0x24], eax
sub esp, 0x10
mov byte [ebp - 4], 0x32
lea edx, [esi + 8]
mov dword [ebp - 0x10], esp
mov ecx, esp
push edx
call fcn.0047b780
sub esp, 0x18
mov byte [ebp - 4], 0x33
mov ecx, esp
push edi
call fcn.0047b780
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x32
push eax
call fcn.0056f070
add esp, 0x34
push dword [ebp - 0x24]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x34
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00577090
lea ecx, [ebp - 0xf8]
call fcn.0047c810
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x7c]
jne 0x57e1d0
mov edi, dword [ebp - 0x14]
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
jne 0x57e150
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xe0]
mov dword [ebp - 0x20], eax
mov edi, dword [eax]
mov dword [ebp - 0x14], edi
cmp edi, eax
je 0x57e36d
lea eax, [edi + 8]
mov dword [ebp - 0x24], eax
add eax, 0x18
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00564700
mov esi, eax
push str._strings
lea eax, [edi + 8]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.004e6a80
add esp, 0x14
push esi
push eax
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0x58]
call fcn.00577090
lea ecx, [ebp - 0xf8]
call fcn.0047c810
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x7c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x57e35d
mov edi, dword [ebp - 0x24]
lea edx, [esi + 8]
lea eax, [edx + 0x18]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x24], esp
push edx
call fcn.0047b780
sub esp, 0x18
mov byte [ebp - 4], 0x37
mov ecx, esp
push edi
call fcn.0047b780
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 1
push eax
call fcn.0056f070
add esp, 0x34
push eax
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x58]
call fcn.00576ef0
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 1
call fcn.0047c810
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x7c]
jne 0x57e2f7
mov edi, dword [ebp - 0x14]
mov eax, dword [edi]
mov edi, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
jne 0x57e285
cmp byte [0xa82632], 0
je 0x57e3a4
cmp byte [0x8e2330], 0
je 0x57e3a4
lea eax, [ebp - 0x14]
push eax
call fcn.00580470
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x57e3a4
lea ecx, [ebp - 0x14]
call fcn.00579510
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.0056fb60
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x16c]
push 0x749c2a
push eax
lea ecx, [esi + 0x138]
call fcn.005778a0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x39
push eax
lea eax, [esi + 0x14]
push eax
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0057aff0
add esp, 0x10
mov ecx, dword [ebp - 0x114]
add ecx, 0xc
mov byte [ebp - 4], 0x3a
call fcn.00579510
mov esi, dword [esi + 0x10]
sub esp, 0x18
mov edi, eax
mov dword [ebp + 8], esp
lea eax, [ebp - 0x13c]
mov ecx, esp
push eax
call fcn.0047b780
sub esp, 0x18
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x154]
mov ecx, esp
push eax
call fcn.0047b780
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x3a
call fcn.00578720
push esi
push eax
mov ecx, edi
mov byte [ebp - 4], 0x3c
call fcn.005870d0
lea ecx, [ebp - 0x110]
call fcn.004aaed0
lea ecx, [ebp - 0x154]
call fcn.0047c810
lea ecx, [ebp - 0x16c]
call fcn.0047c810
lea ecx, [ebp - 0x58]
call fcn.004ab060
lea ecx, [ebp - 0x13c]
call fcn.0047c810
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.006ddb1a
call fcn.0047e4c0
call fcn.006fee64
call fcn.0047e500
int3