Function at 0x414540
Capabilities:
Connect pipe
Read file on windows

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 0x4310bc
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ecx
mov eax, 0xe2cc
call fcn.004204c0
mov eax, dword [0x43d100]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0xdb7c], esi
push 0
push dword [esi]
mov dword [ebp - 0xdb88], esi
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xc350
lea eax, [ebp - 0xc370]
push 0
push eax
call sub.msvcrt.dll_memset
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [ebp - 0xdba8]
add esp, 0xc
push 0
push eax
push 4
lea eax, [ebp - 0xdb74]
push eax
push dword [esi]
call edi
push 0x43e4a8
mov dword [ebp - 0xdbdc], 0x43e4a8
mov byte [ebp - 0xdbd8], 0
call fcn.0041fc58
add esp, 4
test eax, eax
jne 0x415745
cmp dword [0x43e4d4], 0x7fffffff
je 0x41580e
mov byte [ebp - 0xdbd8], 1
mov dword [ebp - 0xdbd4], 0x43e488
mov dword [ebp - 4], eax
mov ecx, 0x43e488
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0xdb74]
push eax
push eax
lea eax, [ebp - 0xdbd0]
push eax
call fcn.00412e80
push 0x43e4a8
mov dword [ebp - 4], 0xffffffff
call fcn.0041fc69
mov ecx, dword [0x43e344]
add esp, 4
mov eax, dword [ebp - 0xdb74]
mov dword [ebp - 0xdb78], eax
test ecx, ecx
je 0x415740
mov eax, dword [ecx]
lea edx, [ebp - 0xdb78]
push edx
call dword [eax + 8]
nop
push 0
lea eax, [ebp - 0xdba8]
push eax
push 0xc350
lea eax, [ebp - 0xc370]
push eax
push dword [esi]
call edi
test eax, eax
je 0x4155ef
mov eax, dword [ebp - 0xc370]
cmp eax, 4
ja case.0x4146b0.1
jmp dword [eax*4 + 0x415820]
mov ecx, 0x27e
mov dword [ebp - 0xdbe8], 0x43e4a8
lea esi, [ebp - 0xc370]
mov byte [ebp - 0xdbe4], 0
lea edi, [ebp - 0xdb70]
rep movsd dword es:[edi], dword [esi]
push 0x43e4a8
call fcn.0041fc58
add esp, 4
test eax, eax
jne 0x415745
cmp dword [0x43e4d4], 0x7fffffff
je 0x41574c
mov byte [ebp - 0xdbe4], 1
mov dword [ebp - 0xdbe0], 0x43e488
lea eax, [ebp - 0xdb74]
mov dword [ebp - 4], 1
push eax
mov ecx, 0x43e488
call fcn.0041a390
mov dword [ebp - 0xc3a4], 0
mov ecx, dword [eax + 0x24]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x414751
mov eax, dword [ecx]
lea edx, [ebp - 0xc3c8]
push edx
mov eax, dword [eax]
call eax
mov dword [ebp - 0xc3a4], eax
push 0x43e4a8
mov byte [ebp - 4], 4
call fcn.0041fc69
xorps xmm0, xmm0
mov dword [ebp - 0xc378], 0
lea ecx, [ebp - 0xd560]
mov dword [ebp - 0xc374], 0
add esp, 4
lea edx, [ecx + 2]
movups xmmword [ebp - 0xc388], xmm0
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414790
sub ecx, edx
lea eax, [ebp - 0xd560]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xc388]
call fcn.0040ca10
cmp dword [ebp - 0xc378], 0xc
mov byte [ebp - 4], 5
jbe 0x414859
xorps xmm0, xmm0
mov dword [ebp - 0xc390], 0
lea ecx, [ebp - 0xd560]
mov dword [ebp - 0xc38c], 0
movups xmmword [ebp - 0xc3a0], xmm0
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4147f0
sub ecx, edx
lea eax, [ebp - 0xd560]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xc3a0]
call fcn.0040ca10
mov ecx, 0x182
lea esi, [ebp - 0xdb68]
lea edi, [ebp - 0xc9d0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc3a4]
mov byte [ebp - 4], 6
test ecx, ecx
je 0x41575d
mov eax, dword [ecx]
lea edx, [ebp - 0xc3a0]
push edx
lea edx, [ebp - 0xc9d0]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0xc3a0]
mov byte [ebp - 4], 5
call fcn.00406260
mov eax, dword [ebp - 0xd9e4]
lea ecx, [ebp - 0xd560]
and dword [ebp - 0xd9e8], 0xfffffffd
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov dword [ebp - 0xd9e4], eax
movups xmmword [ebp - 0xc3a0], xmm0
mov dword [ebp - 0xc390], 0
mov dword [ebp - 0xc38c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414893
sub ecx, edx
lea eax, [ebp - 0xd560]
push ecx
push eax
lea ecx, [ebp - 0xc3a0]
call fcn.00402e50
push dword [ebp - 0xd9e0]
lea eax, [ebp - 0xc3a0]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0xdba4]
push eax
call fcn.00411760
add esp, 0xc
mov ecx, dword [ebp - 0xc38c]
mov byte [ebp - 4], 9
cmp ecx, 0xf
jbe 0x41490d
mov edx, dword [ebp - 0xc3a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414903
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415762
push ecx
push edx
call fcn.0042053f
add esp, 8
cmp byte [ebp - 0xdb8c], 0
mov dword [ebp - 0xc390], 0
mov dword [ebp - 0xc38c], 0xf
mov byte [ebp - 0xc3a0], 0
je 0x414a6d
cmp dword [ebp - 0xdb94], 0xc
jbe 0x414a6d
push dword [ebp - 0xdb74]
lea eax, [ebp - 0xd170]
mov ecx, 0x182
sub esp, 0x608
lea esi, [ebp - 0xdb68]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0040dc70
add esp, 0x610
cmp dword [eax + 0x14], 7
jbe 0x414977
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xd95c]
push 0x1f4
push eax
call fcn.0042aa80
mov ecx, dword [ebp - 0xd15c]
add esp, 0xc
cmp ecx, 7
jbe 0x4149cc
mov edx, dword [ebp - 0xd170]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4149c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415767
push ecx
push edx
call fcn.0042053f
add esp, 8
xor eax, eax
mov dword [ebp - 0xd160], 0
mov dword [ebp - 0xd15c], 7
mov word [ebp - 0xd170], ax
cmp byte [ebp - 0xdb8c], al
je 0x41576c
movups xmm0, xmmword [ebp - 0xdba4]
mov ecx, 0x182
mov word [ebp - 0xdba4], ax
lea esi, [ebp - 0xdb68]
movups xmmword [ebp - 0xd170], xmm0
lea edi, [ebp - 0xc9d0]
movq xmm0, qword [ebp - 0xdb94]
movq qword [ebp - 0xd160], xmm0
mov dword [ebp - 0xdb94], eax
mov dword [ebp - 0xdb90], 7
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc3a4]
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x415771
mov eax, dword [ecx]
lea edx, [ebp - 0xd170]
push edx
lea edx, [ebp - 0xc9d0]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0xd170]
call fcn.00406260
lea ecx, [ebp - 0xdba4]
mov byte [ebp - 4], 5
call fcn.0040d9c0
xorps xmm0, xmm0
mov dword [ebp - 0xd9e0], 0xfde9
lea ecx, [ebp - 0xd560]
mov dword [ebp - 0xc390], 0
movups xmmword [ebp - 0xc3a0], xmm0
mov dword [ebp - 0xc38c], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414ab0
sub ecx, edx
lea eax, [ebp - 0xd560]
push ecx
push eax
lea ecx, [ebp - 0xc3a0]
call fcn.00402e50
push dword [ebp - 0xd9e0]
lea eax, [ebp - 0xc3a0]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xdba4]
push eax
call fcn.00411760
add esp, 0xc
mov ecx, dword [ebp - 0xc38c]
mov byte [ebp - 4], 0xd
cmp ecx, 0xf
jbe 0x414b2a
mov edx, dword [ebp - 0xc3a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414b20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415776
push ecx
push edx
call fcn.0042053f
add esp, 8
cmp byte [ebp - 0xdb8c], 0
mov dword [ebp - 0xc390], 0
mov dword [ebp - 0xc38c], 0xf
mov byte [ebp - 0xc3a0], 0
je 0x414c8a
cmp dword [ebp - 0xdb94], 0xc
jbe 0x414c8a
push dword [ebp - 0xdb74]
lea eax, [ebp - 0xd170]
mov ecx, 0x182
sub esp, 0x608
lea esi, [ebp - 0xdb68]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0040dc70
add esp, 0x610
cmp dword [eax + 0x14], 7
jbe 0x414b94
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xd95c]
push 0x1f4
push eax
call fcn.0042aa80
mov ecx, dword [ebp - 0xd15c]
add esp, 0xc
cmp ecx, 7
jbe 0x414be9
mov edx, dword [ebp - 0xd170]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x414bdf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41577b
push ecx
push edx
call fcn.0042053f
add esp, 8
xor eax, eax
mov dword [ebp - 0xd160], 0
mov dword [ebp - 0xd15c], 7
mov word [ebp - 0xd170], ax
cmp byte [ebp - 0xdb8c], al
je 0x415780
movups xmm0, xmmword [ebp - 0xdba4]
mov ecx, 0x182
mov word [ebp - 0xdba4], ax
lea esi, [ebp - 0xdb68]
movups xmmword [ebp - 0xd170], xmm0
lea edi, [ebp - 0xc9d0]
movq xmm0, qword [ebp - 0xdb94]
movq qword [ebp - 0xd160], xmm0
mov dword [ebp - 0xdb94], eax
mov dword [ebp - 0xdb90], 7
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc3a4]
mov byte [ebp - 4], 0xe
test ecx, ecx
je 0x415785
mov eax, dword [ecx]
lea edx, [ebp - 0xd170]
push edx
lea edx, [ebp - 0xc9d0]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0xd170]
call fcn.00406260
lea ecx, [ebp - 0xdba4]
call fcn.0040d9c0
mov ecx, dword [ebp - 0xc374]
mov byte [ebp - 4], 4
cmp ecx, 7
jbe 0x414cd9
mov edx, dword [ebp - 0xc388]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x414ccf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41578a
push ecx
push edx
call fcn.0042053f
add esp, 8
mov ecx, dword [ebp - 0xc3a4]
xor eax, eax
mov esi, dword [ebp - 0xdb7c]
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0xc378], 0
mov dword [ebp - 0xc374], 7
mov word [ebp - 0xc388], ax
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x414680
mov edx, dword [ecx]
lea eax, [ebp - 0xc3c8]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0xc3a4], 0
jmp 0x414680
movups xmm0, xmmword [ebp - 0xc370]
sub esp, 0x28
lea ecx, [ebp - 0xdb74]
mov eax, esp
lea edx, [ebp - 0xc398]
movups xmmword [ebp - 0xc398], xmm0
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_f9762d28d1c4c31edcb9f505689f80e2___bool__struct_ThreadParam_.0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x24], eax
call fcn.004186a0
add esp, 0x28
jmp 0x414680
cmp dword [0x43e40c], 0
je 0x414680
mov esi, dword [ebp - 0xc368]
mov edi, dword [ebp - 0xc364]
push 0x43e4a8
mov dword [ebp - 0xdbf4], 0x43e4a8
mov byte [ebp - 0xdbf0], 0
call fcn.0041fc58
add esp, 4
test eax, eax
jne 0x41578f
cmp dword [0x43e4d4], 0x7fffffff
je 0x415796
mov byte [ebp - 0xdbf0], 1
mov dword [ebp - 0xdbec], 0x43e488
lea eax, [ebp - 0xdb74]
mov dword [ebp - 4], 0xf
push eax
mov ecx, 0x43e488
call fcn.0041a390
push edi
push esi
lea ecx, [ebp - 0xca90]
push ecx
mov ecx, eax
call fcn.00416a60
xorps xmm0, xmm0
mov dword [ebp - 0xc378], 0
movups xmmword [ebp - 0xc388], xmm0
mov dword [ebp - 0xc374], 0
lea edx, [eax + 0x20c]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xdb78], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414e30
sub ecx, dword [ebp - 0xdb78]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xc388]
call fcn.0040ca10
push 0x43e4a8
mov byte [ebp - 4], 0x11
call fcn.0041fc69
mov ecx, dword [0x43e40c]
add esp, 4
mov dword [ebp - 0xdbd0], esi
mov dword [ebp - 0xdbcc], edi
test ecx, ecx
je 0x4157a7
mov eax, dword [ecx]
lea edx, [ebp - 0xc388]
push edx
lea edx, [ebp - 0xdbd0]
push edx
call dword [eax + 8]
mov ecx, dword [ebp - 0xc374]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 7
jbe 0x414ed5
mov edx, dword [ebp - 0xc388]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x414ecb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4157ac
push ecx
push edx
call fcn.0042053f
add esp, 8
mov esi, dword [ebp - 0xdb7c]
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0xc378], 0
mov dword [ebp - 0xc374], 7
mov word [ebp - 0xc388], ax
jmp 0x414680
mov ecx, 0x7e
mov dword [ebp - 0xc378], 0
lea esi, [ebp - 0xc370]
mov dword [ebp - 0xc374], 0
lea edi, [ebp - 0xc5c0]
xorps xmm0, xmm0
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0xc5bc]
movups xmmword [ebp - 0xc388], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414f40
sub ecx, edx
lea eax, [ebp - 0xc5bc]
push ecx
push eax
lea ecx, [ebp - 0xc388]
call fcn.00402e50
sub esp, 0x18
mov dword [ebp - 4], 0x12
mov eax, esp
lea ecx, [ebp - 0xc388]
push ecx
push eax
call fcn.004116b0
add esp, 8
call fcn.00415c90
mov ecx, dword [ebp - 0xc374]
add esp, 0x18
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x414fc1
mov edx, dword [ebp - 0xc388]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414fb7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4157b1
push ecx
push edx
call fcn.0042053f
add esp, 8
mov esi, dword [ebp - 0xdb7c]
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0xc378], 0
mov dword [ebp - 0xc374], 0xf
mov byte [ebp - 0xc388], 0
jmp 0x414680
movups xmm0, xmmword [ebp - 0xc370]
mov edi, dword [ebp - 0xdba8]
add edi, 0xffffffd8
mov dword [ebp - 0xdc00], 0x43e458
movups xmmword [ebp - 0xd178], xmm0
push 0x43e458
movups xmm0, xmmword [ebp - 0xc360]
mov dword [ebp - 0xdb80], edi
mov byte [ebp - 0xdbfc], 0
movups xmmword [ebp - 0xd168], xmm0
call fcn.0041fc58
add esp, 4
test eax, eax
jne 0x4157b6
cmp dword [0x43e484], 0x7fffffff
je 0x4157bd
mov byte [ebp - 0xdbfc], 1
mov dword [ebp - 0xdbf8], 0x43e438
movups xmm0, xmmword [ebp - 0xd178]
sub esp, 0x20
mov dword [ebp - 4], 0x13
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xd168]
movups xmmword [eax + 0x10], xmm0
call fcn.00417830
add esp, 0x20
mov ecx, 0x43e438
push eax
lea eax, [ebp - 0xd178]
push eax
lea eax, [ebp - 0xdc14]
push eax
call fcn.00412960
mov esi, dword [0x43e43c]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp esi, dword [0x43e43c]
jne 0x415467
push 0x43e4a8
mov byte [ebp - 4], 0x14
mov dword [ebp - 0xdc0c], 0x43e4a8
mov byte [ebp - 0xdc08], 0
call fcn.0041fc58
add esp, 4
test eax, eax
jne 0x4157ce
cmp dword [0x43e4d4], 0x7fffffff
je 0x4157d5
mov byte [ebp - 0xdc08], 1
mov dword [ebp - 0xdc04], 0x43e488
movzx eax, byte [ebp - 0xd178]
xor eax, 0x811c9dc5
mov byte [ebp - 4], 0x15
imul ecx, eax, 0x1000193
movzx eax, byte [ebp - 0xd177]
xor ecx, eax
movzx eax, byte [ebp - 0xd176]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0xd175]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x43e488
push eax
lea eax, [ebp - 0xd178]
push eax
lea eax, [ebp - 0xdbc0]
push eax
call fcn.004128f0
mov esi, dword [ebp - 0xdbbc]
test esi, esi
je 0x4157fa
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 0xd170]
mov dword [ebp - 0xdb78], eax
mov eax, dword [ebp - 0xd16c]
mov dword [ebp - 0xdb84], eax
jne 0x4151bc
push 0xc0
lea eax, [ebp - 0xcb50]
push 0
push eax
call sub.msvcrt.dll_memset
push 0x608
lea eax, [ebp - 0xd158]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
jmp 0x41525a
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4151d1
cmp eax, 0xffffffff
je 0x4151d1
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi + 0x48]
lea edx, [eax + 0x423920]
cmp eax, edx
je 0x41521e
nop
mov ecx, 0x1b2
lea edi, [ebp - 0xe2e0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xdb78]
cmp dword [ebp - 0xdcd8], ecx
jne 0x41520f
mov ecx, dword [ebp - 0xdb84]
cmp dword [ebp - 0xdcd4], ecx
je 0x4152bb
add eax, 0x6c8
cmp eax, edx
jne 0x4151e0
mov esi, dword [ebp - 0xdbbc]
push 0xc0
lea eax, [ebp - 0xcb50]
push 0
push eax
call sub.msvcrt.dll_memset
push 0x608
lea eax, [ebp - 0xd158]
push 0
push eax
call sub.msvcrt.dll_memset
mov eax, dword [esi + 0x4c]
add esp, 0x18
test eax, eax
je 0x41525a
cmp eax, 0xffffffff
je 0x41525a
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
movups xmm0, xmmword [ebp - 0xd178]
sub esp, 0x20
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xd168]
movups xmmword [eax + 0x10], xmm0
call fcn.00417830
add esp, 0x20
mov dword [ebp - 0xdb78], eax
mov ecx, 0x43e438
push eax
lea eax, [ebp - 0xd178]
push eax
lea eax, [ebp - 0xdbb0]
push eax
call fcn.00412960
mov esi, dword [ebp - 0xdbac]
test esi, esi
jne 0x415436
cmp dword [0x43e440], 0x226b90
je 0x4157e6
jmp 0x4152dc
mov eax, dword [ebp - 0xdbbc]
lea esi, [ebp - 0xe2e0]
mov ecx, 0x1b2
lea edi, [ebp - 0xd158]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x4c]
jmp 0x41524a
mov dword [ebp - 0xdbc8], 0x43e43c
push 0x770
mov byte [ebp - 4], 0x16
mov dword [ebp - 0xdbc4], 0
call fcn.0042050f
movups xmm0, xmmword [ebp - 0xd178]
mov dword [ebp - 0xdbb4], eax
lea esi, [ebp - 0xd158]
mov dword [ebp - 0xdbc4], eax
lea edi, [ebp - 0xc9d0]
add eax, 8
add esp, 4
sub esp, 0x1c
mov dword [ebp - 0xdb84], eax
mov ecx, 0x182
movups xmmword [eax], xmm0
lea edx, [eax + 0x20]
movups xmm0, xmmword [ebp - 0xd168]
movups xmmword [eax + 0x10], xmm0
mov eax, esp
sub esp, 0x608
movups xmm0, xmmword [ebp - 0xd178]
movups xmm1, xmmword [ebp - 0xd168]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov byte [eax + 0x18], 0
sub esp, 0x20
lea esi, [ebp - 0xc9d0]
mov eax, esp
mov ecx, 0x182
rep movsd dword es:[edi], dword [esi]
movups xmmword [eax], xmm0
mov ecx, edx
movups xmmword [eax + 0x10], xmm1
call fcn.0041bfa0
mov eax, dword [0x43e440]
inc eax
mov byte [ebp - 4], 0x17
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x436310]
mov eax, dword [0x43e454]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x436310]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [0x43e438]
seta al
test al, al
je 0x41540c
mov ecx, 0x43e438
call fcn.0041a160
mov esi, dword [ebp - 0xdb78]
lea eax, [ebp - 0xdbd8]
push esi
push dword [ebp - 0xdb84]
mov ecx, 0x43e438
push eax
call fcn.00412960
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xdbb0], ecx
mov dword [ebp - 0xdbac], eax
jmp 0x415418
mov ecx, dword [ebp - 0xdbb0]
mov esi, dword [ebp - 0xdb78]
push dword [ebp - 0xdbb4]
mov dword [ebp - 0xdbc4], 0
push ecx
push esi
mov ecx, 0x43e438
call fcn.0041a100
mov esi, eax
push 0x43e4a8
call fcn.0041fc69
mov ecx, dword [0x43e394]
lea edx, [esi + 0x28]
add esp, 4
mov dword [ebp - 4], 0x13
test ecx, ecx
je 0x4157f0
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov edi, dword [ebp - 0xdb80]
mov eax, dword [ebp - 0xc350]
mov ecx, dword [ebp - 0xc34c]
mov dword [esi + 0x230], eax
lea eax, [ebp - 0xc348]
push edi
mov dword [esi + 0x234], ecx
lea ecx, [esi + 0x28]
push eax
call fcn.0041ca50
cmp dword [0x43e434], 0
je 0x4155ca
mov eax, dword [esi + 0x230]
add esi, 0xb0
and eax, 0x40000
or eax, 0
je 0x4155ca
push dword [0x43d08c]
lea eax, [ebp - 0xc348]
push esi
push edi
push eax
lea eax, [ebp - 0xdba4]
push eax
call fcn.00411a80
add esp, 0x14
cmp byte [ebp - 0xdb8c], 0
mov byte [ebp - 4], 0x19
je 0x4155bf
lea eax, [ebp - 0xdba4]
push eax
lea ecx, [ebp - 0xc388]
call fcn.0040d870
cmp dword [ebp - 0xc378], 0
mov byte [ebp - 4], 0x1a
je 0x41555e
mov ecx, dword [0x43e434]
test ecx, ecx
je 0x4157f5
jmp 0x41554b
mov eax, dword [ecx]
lea edx, [ebp - 0xd178]
push edx
lea edx, [ebp - 0xc388]
push edx
call dword [eax + 8]
mov ecx, dword [ebp - 0xc374]
mov byte [ebp - 4], 0x19
cmp ecx, 7
jbe 0x4155a2
mov edx, dword [ebp - 0xc388]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x415598
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415804
push ecx
push edx
call fcn.0042053f
add esp, 8
xor eax, eax
mov dword [ebp - 0xc378], 0
mov dword [ebp - 0xc374], 7
mov word [ebp - 0xc388], ax
lea ecx, [ebp - 0xdba4]
call fcn.0040d9c0
push 0x43e458
mov dword [ebp - 4], 0xffffffff
call fcn.0041fc69
mov esi, dword [ebp - 0xdb7c]
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
jmp 0x414680
sub esp, 0x28
lea ecx, [ebp - 0xdb74]
mov eax, esp
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_99fa4e0cbf0e21ceaf050fe126f83559___bool__struct_ThreadParam_.0
mov dword [eax + 4], ecx
mov dword [eax + 0x24], eax
call fcn.004186a0
mov ecx, dword [0x43e36c]
add esp, 0x28
mov eax, dword [ebp - 0xdb74]
mov dword [ebp - 0xdb88], eax
test ecx, ecx
je 0x415809
mov eax, dword [ecx]
lea edx, [ebp - 0xdb88]
push edx
call dword [eax + 8]
push 0x43e4a8
call fcn.0041fc58
add esp, 4
test eax, eax
jne 0x415745
cmp dword [0x43e4d4], 0x7fffffff
je 0x41580e
mov edx, dword [ebp - 0xdb74]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0xdb72]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0xdb71]
imul edx, ecx, 0x1000193
mov ecx, 0x43e488
xor edx, eax
lea eax, [ebp - 0xdb74]
imul edi, edx, 0x1000193
push edi
push eax
lea eax, [ebp - 0xdbd8]
push eax
call fcn.004128f0
mov esi, dword [eax + 4]
test esi, esi
je 0x415715
and edi, dword [0x43e4a0]
mov ecx, dword [0x43e494]
mov eax, dword [ecx + edi*8]
cmp dword [ecx + edi*8 + 4], esi
jne 0x4156e6
cmp eax, esi
jne 0x4156dd
mov eax, dword [0x43e48c]
mov dword [ecx + edi*8], eax
mov dword [ecx + edi*8 + 4], eax
jmp 0x4156ef
mov eax, dword [esi + 4]
mov dword [ecx + edi*8 + 4], eax
jmp 0x4156ef
cmp eax, esi
jne 0x4156ef
mov eax, dword [esi]
mov dword [ecx + edi*8], eax
mov ecx, dword [esi]
dec dword [0x43e490]
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
lea ecx, [esi + 0x10]
call fcn.00413f10
push 0x50
push esi
call fcn.0042053f
add esp, 8
push 0x43e4a8
call fcn.0041fc69
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0042074a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0041d97c
push 5
call fcn.0041dc9e
push 6
mov dword [0x43e4d4], 0x7ffffffe
call fcn.0041dc9e
call fcn.0041d97c
call fcn.00421840
call fcn.00421840
call fcn.00411a50
call fcn.0041d97c
call fcn.00421840
call fcn.00421840
call fcn.00411a50
call fcn.0041d97c
call fcn.00421840
push 5
call fcn.0041dc9e
push 6
mov dword [0x43e4d4], 0x7ffffffe
call fcn.0041dc9e
call fcn.0041d97c
call fcn.00421840
call fcn.00421840
push 5
call fcn.0041dc9e
push 6
mov dword [0x43e484], 0x7ffffffe
call fcn.0041dc9e
push 5
call fcn.0041dc9e
push 6
mov dword [0x43e4d4], 0x7ffffffe
call fcn.0041dc9e
push str.unordered_map_set_too_long
call fcn.0041d9b9
call fcn.0041d97c
call fcn.0041d97c
push str.invalid_unordered_map_K__T__key
call fcn.0041d9d9
call fcn.00421840
call fcn.0041d97c
push 6
mov dword [0x43e4d4], 0x7ffffffe
call fcn.0041dc9e
nop
add ecx, dword [edi + 0x41]
add ch, ch
dec edi
inc ecx
add byte [edi + 0x3a004146], dh
dec ebp
inc ecx
add byte [ebp + 0x4d], dh
inc ecx
add ah, cl
int3