Function at 0x1000297e
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2c0
call 0x10002992
pop eax
mov dword [esp + 0x1d0], eax
lea eax, [esp + 0x260]
push eax
call fcn.10032cc0
pop eax
movq xmm0, qword [esp + 0x260]
movq xmm1, qword [esp + 0x268]
lea esi, [esp + 0x1e8]
movq qword [esi + 8], xmm1
movq qword [esi], xmm0
lea eax, [esp + 0xc8]
push esi
push eax
call fcn.10033330
pop eax
pop ecx
cmp dword [esp + 0xc8], 0x80000000
jne 0x10002a18
and dword [esp + 0x198], 0
mov dword [esp + 0x19c], 4
and dword [esp + 0x1a0], 0
lea ecx, [esp + 0x1e8]
call fcn.1000197e
push 4
pop esi
xor eax, eax
jmp 0x10002c5e
mov eax, dword [esp + 0xd0]
movq xmm0, qword [esp + 0xc8]
mov dword [esp + 0x150], eax
movq qword [esp + 0x148], xmm0
lea ebx, [esp + 0x20]
push esi
push ebx
call fcn.10033460
pop eax
pop ecx
push 4
pop ecx
mov eax, dword [esp + 0x20]
xor edx, edx
mov edi, ecx
dec edx
inc eax
cmove eax, edx
cmp eax, 5
cmovae edi, eax
xor edx, edx
imul esi, edi, 0xc
cmp eax, 0xaaaaaaa
ja 0x10004630
test esi, esi
js 0x10004630
mov edx, esi
call fcn.10002277
test eax, eax
push 4
pop edx
je 0x10004630
lea ecx, [esp + 0x148]
movsd xmm0, qword [ecx]
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
movsd qword [eax], xmm0
lea ecx, [esp + 0x120]
movq xmm0, qword [esp + 0x1e8]
movq xmm1, qword [esp + 0x1f0]
mov dword [ecx - 8], edi
mov dword [ecx - 4], eax
mov dword [ecx], 1
movq qword [esp + 0x28], xmm1
movq qword [esp + 0x20], xmm0
push ebx
lea eax, [esp + 0x13c]
push eax
call fcn.10033330
pop eax
pop ecx
cmp dword [esp + 0x138], 0x80000000
je 0x10002c2e
mov esi, dword [esp + 0x120]
mov eax, dword [esp + 0x140]
movsd xmm0, qword [esp + 0x138]
cmp esi, dword [esp + 0x118]
mov dword [esp + 0xf0], eax
movsd qword [esp + 0xe8], xmm0
jne 0x10002bfe
push ebx
lea eax, [esp + 0x14c]
push eax
call fcn.10033460
pop eax
pop ecx
mov eax, dword [esp + 0x148]
mov ecx, 0xffffffff
mov edi, dword [esp + 0x120]
inc eax
cmove eax, ecx
mov ecx, dword [esp + 0x118]
mov edx, ecx
sub edx, edi
cmp eax, edx
jbe 0x10002bfe
add edi, eax
jb 0x10004620
lea eax, [ecx + ecx]
cmp eax, edi
cmova edi, eax
xor eax, eax
cmp edi, 0xaaaaaab
setb byte [esp + 0xc]
cmp edi, 5
push 4
pop edx
cmovb edi, edx
test ecx, ecx
je 0x10002ba0
mov ebx, dword [esp + 0x11c]
imul ecx, ecx, 0xc
mov dword [esp + 0x148], ebx
mov dword [esp + 0x150], ecx
mov ecx, edx
jmp 0x10002ba2
xor ecx, ecx
mov dl, byte [esp + 0xc]
imul ebx, edi, 0xc
mov dword [esp + 0x14c], ecx
mov al, dl
shl eax, 2
lea ecx, [esp + 0x120]
push ecx
lea ecx, [esp + 0x14c]
push ecx
push ebx
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.1000bea4
add esp, 0x14
lea ebx, [esp + 0x20]
cmp dword [esp + 0xc8], 0
jne 0x10004610
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x118], edi
mov eax, dword [esp + 0x11c]
movq xmm0, qword [esp + 0xe8]
mov edx, dword [esp + 0xf0]
imul ecx, esi, 0xc
inc esi
mov dword [eax + ecx + 8], edx
movq qword [eax + ecx], xmm0
mov dword [esp + 0x120], esi
jmp 0x10002acb
lea ecx, [esp + 0x20]
call fcn.1000197e
movq xmm0, qword [esp + 0x118]
mov eax, dword [esp + 0x120]
movq qword [esp + 0x198], xmm0
mov dword [esp + 0x1a0], eax
mov esi, dword [esp + 0x19c]
imul edi, eax, 0xc
test edi, edi
je 0x10002cf3
push 0xa
push 0x100c1c00
push dword [esi + 8]
push dword [esi + 4]
call fcn.10008192
add esp, 0x10
add esi, 0xc
add edi, 0xfffffff4
test al, al
je 0x10002c61
push 5
push 0x100bb470
lea eax, [esp + 0x1f0]
push eax
call fcn.1007ed90
add esp, 0xc
cmp dword [esp + 0x1e8], 0x80000000
jne 0x1000463e
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1f0]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], ecx
push eax
push 0
push 0
call sub.KERNEL32.dll_CreateMutexA
call sub.KERNEL32.dll_GetLastError
cmp eax, 0xb7
jne 0x10002d06
lea ecx, [esp + 0x1d4]
call fcn.10001aa9
xor esi, esi
inc esi
jmp 0x10002cf5
xor esi, esi
lea ecx, [esp + 0x198]
call fcn.10001adb
jmp 0x10004404
lea esi, [esp + 0x20]
push esi
call fcn.10032a90
pop eax
push esi
call fcn.10058ba0
pop ecx
lea ecx, [esp + 0x118]
push 0x14
push 0x100c1b64
push edx
push eax
push ecx
call fcn.10042940
add esp, 0x14
lea esi, [esp + 0x20]
mov ecx, esi
call fcn.10001a7c
lea eax, [esp + 0x118]
push eax
call fcn.10058ba0
pop ecx
push 0x66a0
push 0x100bb4a4
push edx
push eax
push esi
call fcn.10034110
add esp, 0x14
lea ecx, [esp + 0x20]
mov edx, 0x100c1b78
call fcn.10001f93
and dword [esp + 0x20], 0
and dword [esp + 0x28], 0
and dword [esp + 0x2c], 0
pxor xmm0, xmm0
mov dword [esp + 0x30], 7
movq qword [esp + 0x3a], xmm0
movq qword [esp + 0x34], xmm0
mov byte [esp + 0x3c], 1
lea eax, [esp + 0x118]
push eax
call fcn.10058ba0
pop ecx
push edx
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x1f4]
push eax
call fcn.10034da0
add esp, 0x10
cmp byte [esp + 0x1e8], 4
jne 0x10004697
mov eax, dword [esp + 0x1ec]
lea edi, [esp + 4]
mov dword [edi], eax
push 0
push 0
push 0
push 1
push edi
lea eax, [esp + 0x34]
push eax
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000445f
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, ecx
mov esi, edx
add ebx, 0xffffffea
adc esi, 0xffffffff
add ecx, 0xfffeffeb
adc edx, 0xffffffff
xor eax, eax
test edx, edx
cmovle edx, eax
cmovs ecx, eax
xor eax, eax
inc eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
push 0x24
pop eax
mov dword [esp + 8], eax
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x14], esi
cmp ebx, dword [esp + 0xc]
mov eax, esi
sbb eax, dword [esp + 0x10]
jl 0x10004495
push esi
push ebx
push 0
push 0
push edi
lea eax, [esp + 0x34]
push eax
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000445f
lea ecx, [esp + 0x20]
mov edx, edi
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000444e
cmp dword [esp + 0x24], 0x6054b50
jne 0x10002edf
push 0
push 0x10
push 0
push 2
push edi
lea eax, [esp + 0x34]
push eax
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000445f
lea ecx, [esp + 0x20]
mov edx, edi
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000444e
mov ecx, dword [esp + 0xa0]
movzx eax, word [esp + 0x22]
mov edx, dword [esp + 0x14]
sub ecx, ebx
sbb edx, esi
xor ecx, eax
or ecx, edx
je 0x10002eea
add ebx, 0xffffffff
adc esi, 0xffffffff
jmp 0x10002e3f
push esi
push ebx
push 0
push 0
push edi
lea eax, [esp + 0x34]
push eax
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000445f
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000444e
cmp dword [esp + 0x24], 0x6054b50
jne 0x100046c6
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000444e
lea ecx, [esp + 0x20]
movzx eax, word [ecx + 2]
mov word [esp + 0x10], ax
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000444e
lea ecx, [esp + 0x20]
movzx ebx, word [ecx + 2]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000444e
lea ecx, [esp + 0x20]
movzx esi, word [ecx + 2]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000444e
lea ecx, [esp + 0x20]
movzx eax, word [ecx + 2]
mov word [esp + 0xa0], ax
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000444e
lea ecx, [esp + 0x20]
mov edi, dword [ecx + 4]
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000444e
lea ecx, [esp + 0x20]
mov eax, dword [ecx + 4]
mov dword [esp + 0xc], eax
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000444e
lea ecx, [esp + 0x20]
movzx eax, word [ecx + 2]
lea edx, [esp + 4]
push eax
call fcn.10001474
pop eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
cmp eax, 0x80000000
je 0x100046dd
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], edx
movzx edx, word [esp + 0x10]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edi
mov edi, dword [esp + 0xc]
movzx ecx, word [esp + 0xa0]
cmp dx, bx
mov dword [esp + 0xf8], edi
mov word [esp + 0xfc], dx
mov word [esp + 0xfe], bx
mov word [esp + 0x100], si
mov word [esp + 0x102], cx
jne 0x100046ed
movzx edi, si
test si, si
je 0x100030ad
imul esi, edi, 0x78
push 8
pop ecx
mov edx, esi
call fcn.10002277
test eax, eax
jne 0x100030b0
push esi
push 8
call fcn.1007e510
pop eax
pop ecx
jmp 0x1000482e
push 8
pop eax
mov dword [esp + 0x128], edi
mov dword [esp + 0x12c], eax
and dword [esp + 0x130], 0
xor ecx, ecx
call fcn.100018f4
test eax, eax
mov dword [esp + 0x134], edi
je 0x1000470a
mov edx, dword [eax]
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 8]
movq xmm0, qword [0x100bb098]
movq xmm1, qword [0x100bb090]
mov edi, edx
add edi, 1
mov dword [eax], edi
mov edi, dword [eax + 4]
mov ebx, edi
adc ebx, 0
mov dword [eax + 4], ebx
movq qword [esp + 0xd0], xmm0
movq qword [esp + 0xc8], xmm1
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], ecx
push 0
push dword [esp + 0x10]
push 0
push 0
lea eax, [esp + 0x14]
push eax
lea edi, [esp + 0x34]
push edi
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000472d
xor eax, eax
inc eax
mov dword [esp], eax
push 0x19
pop eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xc0]
cmp eax, dword [esp + 0x134]
je 0x10003b64
mov ecx, edi
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000440e
cmp dword [esp + 0x24], 0x2014b50
lea ecx, [esp + 0x20]
jne 0x100044ef
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
movzx eax, word [esp + 0x22]
mov word [esp + 0x14], ax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
movzx eax, word [esp + 0x22]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
movzx eax, word [esp + 0x22]
mov word [esp + 8], ax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
movzx eax, word [esp + 0x22]
mov dword [esp + 0x1b0], eax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
movzx eax, word [esp + 0x22]
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000440e
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000440e
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc4], eax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000440e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x114], eax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
movzx edi, word [esp + 0x22]
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
movzx esi, word [esp + 0x22]
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
movzx ebx, word [esp + 0x22]
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x1000440e
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000440e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x110], eax
lea ecx, [esp + 0x20]
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x1000440e
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa0], eax
lea edx, [esp + 4]
lea ecx, [esp + 0x20]
push edi
call fcn.10001474
pop eax
cmp dword [esp + 0x20], 0x80000000
je 0x100044fc
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x20]
mov dword [esp + 0x180], eax
mov al, 1
movq qword [esp + 0x178], xmm0
mov dword [esp + 0x10], eax
lea edi, [esp + 0x20]
lea edx, [esp + 4]
mov ecx, edi
push esi
call fcn.10001474
pop eax
cmp dword [esp + 0x20], 0x80000000
je 0x10004514
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x20]
mov dword [esp + 0x1c8], eax
mov al, 1
movq qword [esp + 0x1c0], xmm0
mov dword [esp + 0x10], eax
lea edx, [esp + 4]
mov ecx, edi
push ebx
call fcn.10001474
pop eax
cmp dword [esp + 0x20], 0x80000000
je 0x1000452c
bt dword [esp + 0xc], 0xb
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x20]
mov dword [esp + 0x190], eax
movq qword [esp + 0x188], xmm0
jb 0x100034c7
mov eax, dword [esp + 0x180]
movq xmm0, qword [esp + 0x178]
xor ebx, ebx
mov dword [esp + 0x28], eax
movq qword [esp + 0x20], xmm0
push edi
lea eax, [esp + 0x1e0]
push eax
call fcn.10007295
pop eax
pop ecx
mov eax, dword [esp + 0x190]
movq xmm0, qword [esp + 0x188]
mov dword [esp + 0x10], 0
mov dword [esp + 0x28], eax
movq qword [esp + 0x20], xmm0
push edi
lea eax, [esp + 0x1a8]
push eax
call fcn.10007295
pop eax
pop ecx
mov dword [esp + 0x10], 0
jmp 0x1000351f
mov bl, 1
push dword [esp + 0x180]
push dword [esp + 0x180]
push edi
call fcn.10080120
add esp, 0xc
lea ecx, [esp + 0x1dc]
mov edx, edi
call fcn.10002092
mov al, 1
mov dword [esp + 0x10], eax
push dword [esp + 0x190]
push dword [esp + 0x190]
push edi
call fcn.10080120
add esp, 0xc
lea ecx, [esp + 0x1a4]
mov edx, edi
call fcn.10002092
mov al, 1
mov dword [esp + 0x10], eax
push 0
push 0
push 0
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000447b
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x108], eax
push 0
push dword [esp + 0xa4]
push 0
push 0
lea eax, [esp + 0x14]
push eax
push edi
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000447b
mov ecx, edi
lea edx, [esp + 4]
call fcn.1000154e
cmp byte [esp + 0x20], 4
jne 0x10004488
cmp dword [esp + 0x24], 0x4034b50
jne 0x10004598
push 0
push 0x16
push 0
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000447b
mov ecx, edi
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x10004488
movzx esi, word [esp + 0x22]
mov ecx, edi
lea edx, [esp + 4]
call fcn.100014f4
cmp byte [esp + 0x20], 4
jne 0x10004488
movzx esi, si
xor ebx, ebx
movzx ecx, word [esp + 0x22]
movzx eax, word [esp + 0x14]
movzx edi, word [esp + 8]
mov dl, 2
add esi, dword [esp + 0xa0]
setb bl
add esi, ecx
adc ebx, 0
add esi, 0x1e
adc ebx, 0
cmp ah, 3
sete cl
sub dl, cl
test ah, ah
mov ecx, 0
movzx eax, dl
cmove eax, ecx
cmp edi, 0xc
mov dword [esp + 0x104], eax
je 0x1000365e
cmp edi, 8
je 0x10003659
mov ax, 3
test edi, edi
mov dword [esp + 0x1c], eax
jne 0x10003666
mov dword [esp + 0x1c], 0
jmp 0x10003666
xor eax, eax
inc eax
jmp 0x10003662
mov ax, 2
mov dword [esp + 0x1c], eax
push dword [esp + 0x1b0]
push dword [esp + 0xc0]
lea eax, [esp + 0x150]
push eax
call fcn.1000765a
add esp, 0xc
cmp dword [esp + 0x148], 0
mov dword [esp + 0x1b0], esi
jne 0x1000454a
push 0xb
pop ecx
lea edx, [esp + 0x40]
lea esi, [esp + 0x14c]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1e4]
movsd xmm0, qword [esp + 0x1dc]
mov dword [edx + 0x40], eax
mov eax, dword [esp + 0x1ac]
movsd qword [edx + 0x38], xmm0
movq xmm0, qword [esp + 0x1a4]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x104]
movq qword [edx + 0x44], xmm0
mov byte [esp + 0x91], al
movzx eax, word [esp + 0x14]
mov byte [esp + 0x90], al
mov eax, dword [esp + 0xc]
and al, 1
mov byte [esp + 0x92], al
mov eax, dword [esp + 0x1c]
mov word [esp + 0x74], ax
movzx eax, word [esp + 8]
mov word [esp + 0x76], ax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc4]
and dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x114]
and dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xa0]
and dword [esp + 0x34], 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x70], eax
push dword [esp + 0x1c8]
push dword [esp + 0x1c8]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x154]
push eax
call fcn.100070aa
add esp, 0x10
lea edi, [esp + 0x260]
mov eax, dword [esp + 0x148]
cmp eax, 4
jne 0x1000459f
push dword [esp + 0x108]
push dword [esp + 0x110]
push 0
push 0
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x15c]
push eax
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x148], 0
jne 0x1000457d
mov eax, dword [esp + 0x20]
bt dword [esp + 0xc], 0xb
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
push 0x16
pop ecx
lea esi, [esp + 0x2c]
lea eax, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x84]
movq xmm0, qword [eax + 0x48]
movq xmm1, qword [eax + 0x50]
movq qword [esp + 0x138], xmm0
movq qword [esp + 0x140], xmm1
jae 0x10003838
lea ecx, [esp + 0x188]
call fcn.10001a7c
lea ecx, [esp + 0x1c0]
call fcn.10001a7c
bt dword [esp + 0xc], 0xb
jae 0x10003858
lea ecx, [esp + 0x178]
call fcn.10001a7c
cmp ebx, 0x80000000
je 0x100045f9
push 0x16
pop ecx
lea edx, [esp + 0x1f4]
lea eax, [esp + 0x260]
mov edi, edx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
movq xmm0, qword [esp + 0x138]
movq xmm1, qword [esp + 0x140]
mov eax, dword [esp + 0x14]
movq qword [edx + 0x64], xmm1
movq qword [edx + 0x5c], xmm0
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x24c], ebx
lea eax, [esp + 0x240]
push eax
push esi
call fcn.100810c0
pop eax
pop ecx
mov eax, dword [esp + 0x130]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0xd8]
mov edx, esi
call fcn.10001c82
cmp dword [esp + 0xd0], 0
mov edi, eax
mov dword [esp + 0x1a4], esi
jne 0x10003913
lea ecx, [esp + 0xc8]
lea edx, [esp + 0xd8]
call fcn.10002576
mov ebx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
inc dword [esp + 0xc0]
lea eax, [esp + 0x1a4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x138], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0x13c], eax
mov dword [esp + 0xc], ebx
and ebx, edi
shr edi, 0x19
mov dword [esp + 8], ecx
movd xmm0, edi
mov dword [esp + 0x148], ebx
and dword [esp + 0x14c], 0
mov dword [esp + 0xbc], edi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x1b0], xmm0
movdqu xmm1, xmmword [ecx + ebx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x20], xmm1
movdqa xmmword [esp + 0xa0], xmm1
pmovmskb edi, xmm0
test di, di
je 0x100039db
bsf esi, edi
add esi, ebx
and esi, dword [esp + 0xc]
lea ecx, [esp + 0x138]
mov edx, esi
call fcn.10002950
test al, al
jne 0x10003a5d
lea eax, [edi - 1]
and eax, edi
mov edi, eax
jmp 0x100039ae
cmp dword [esp + 0x10], 1
mov eax, 1
lea esi, [esp + 0x20]
je 0x10003a09
lea eax, [esp + 0x148]
lea ecx, [esp + 0xc8]
mov edx, esi
push eax
call fcn.10002555
pop ecx
mov dword [esp + 0xb8], edx
movdqa xmm1, xmmword [esp + 0xa0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x10003ad2
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
movdqa xmm0, xmmword [esp + 0x1b0]
lea ebx, [eax + ebx + 0x10]
add eax, 0x10
and ebx, dword [esp + 0xc]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x148], ebx
jmp 0x10003992
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x1c]
shl esi, 4
neg esi
mov dword [eax + esi - 4], ecx
lea ecx, [esp + 0x260]
call fcn.10001a7c
lea esi, [esp + 0x20]
push 0x1e
pop ecx
mov edi, esi
lea esi, [esp + 0x1e8]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x130]
cmp esi, dword [esp + 0x128]
jne 0x10003aab
lea ecx, [esp + 0x128]
call fcn.10002108
imul eax, esi, 0x78
add eax, dword [esp + 0x12c]
push 0x78
lea edi, [esp + 0x24]
push edi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
inc esi
mov dword [esp + 0x130], esi
jmp 0x10003173
mov edi, dword [esp + 0xb8]
mov eax, dword [esp + 8]
cmp byte [eax + edi], 0
js 0x10003aee
movdqa xmm0, xmmword [eax]
pmovmskb eax, xmm0
bsf edi, eax
mov ecx, dword [esp + 0x268]
movsd xmm0, qword [esp + 0x260]
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x28], ecx
movsd qword [esp + 0x20], xmm0
movzx ecx, byte [eax + edi]
and ecx, 1
sub dword [esp + 0xd0], ecx
lea ecx, [edi - 0x10]
and ecx, dword [esp + 0xcc]
mov byte [eax + edi], dl
shl edi, 4
mov byte [eax + ecx + 0x10], dl
mov ecx, eax
inc dword [esp + 0xd4]
mov edx, dword [esp + 0x28]
sub ecx, edi
neg edi
mov dword [ecx - 8], edx
mov edx, dword [esp + 0x1c]
movq xmm0, qword [esp + 0x20]
movq qword [ecx - 0x10], xmm0
mov dword [eax + edi - 4], edx
jmp 0x10003a81
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0xd0]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x128]
mov esi, dword [esp + 0x130]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xd8]
mov dword [esp + 8], edx
movq xmm0, qword [eax - 4]
movq xmm1, qword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc8]
movq qword [esp + 0x20], xmm0
movq qword [esp + 0x28], xmm1
mov dword [esp], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xa0], eax
lea ecx, [esp + 0xe8]
call fcn.10001a7c
cmp ebx, 0x80000000
je 0x100044a9
mov eax, dword [esp]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 8]
movq xmm0, qword [esp + 0x20]
movq xmm1, qword [esp + 0x28]
and dword [esp + 0xe8], 0
mov dword [esp + 0xec], 1
and dword [esp + 0xf0], 0
test esi, esi
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x268], edx
movq qword [esp + 0x26c], xmm0
movq qword [esp + 0x274], xmm1
mov dword [esp + 0x27c], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x280], edi
mov dword [esp + 0x284], ebx
mov dword [esp + 0x28c], esi
mov dword [esp + 0x288], ecx
je 0x1000473a
push 2
pop esi
cmp byte [ecx + 0x72], 0
lea eax, [esp + 0x20]
jne 0x10004772
lea edx, [esp + 0x280]
push dword [ecx + 0x1c]
push dword [ecx + 0x18]
push 0
push 0
mov dword [esp + 0xb0], edx
push edx
push eax
call fcn.10034b00
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x1000477c
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x1d0]
movzx ecx, word [ebx + 0x54]
mov eax, dword [ebx + 4]
mov edi, dword [ebx]
add edx, dword [ecx*4 + 0x10004a80]
mov dword [esp + 0x10], eax
mov eax, str.Compression_method_not_supportedEncrypted_files_are_not_supportedInvalid_local_file_headerInvalid_Central_Directory_headerCould_not_find_central_directory_endInvalid_digital_signature_headerassertion_failed:_filled___self.buf.init_rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_srcio_borrowed_buf.rs
push 0x20
pop ecx
jmp edx
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [esp], 0
lea ecx, [esp + 0xc8]
call fcn.10001be0
mov dword [esp + 0xa0], edi
mov dword [esp + 8], esi
lea ecx, [esp + 0x128]
call fcn.10001b4c
lea ecx, [esp + 0xe8]
call fcn.10001a7c
jmp 0x100044a0
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x24]
jmp 0x1000446e
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov dword [esp], 0
jmp 0x100044a0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
jmp 0x10004558
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
jmp 0x10004558
mov dword [esp + 0xa0], 0x100bb2ba
push dword [esp + 4]
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [esp]
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 8]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
mov dword [esp + 0x1f0], ecx
push 0x100c1b98
push 0x100bb38c
lea esi, [esp + 0x1f0]
push esi
push 0
push 1
call fcn.1008a2f0
add esp, 0x14
jmp 0x1000482e
mov edi, 0x100bb29a
push 0x20
pop esi
jmp 0x1000441d
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov dword [esp], 0
mov dword [esp + 0x18], eax
jmp 0x100045f0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [esp], 0
mov dword [esp + 0x18], eax
jmp 0x100045e4
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov dword [esp], 0
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x100045d1
mov edi, dword [esp + 0x14c]
mov eax, dword [esp + 0x150]
mov dword [esp + 0x18], eax
mov dword [esp], 0
lea ecx, [esp + 0x1a4]
call fcn.10001a7c
lea ecx, [esp + 0x1dc]
call fcn.10001a7c
jmp 0x100045bd
mov edi, dword [esp + 0x14c]
mov eax, dword [esp + 0x150]
mov dword [esp], 0
mov dword [esp + 0x18], eax
jmp 0x100045b4
mov edi, 0x100bb281
jmp 0x10004563
mov ecx, dword [esp + 0x150]
mov edi, dword [esp + 0x14c]
mov dword [esp], eax
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x20]
call fcn.10001a49
bt dword [esp + 0xc], 0xb
jae 0x100045d1
lea ecx, [esp + 0x188]
call fcn.10001a7c
lea ecx, [esp + 0x1c0]
call fcn.10001a7c
cmp byte [esp + 0x10], 0
je 0x100045f0
lea ecx, [esp + 0x178]
call fcn.10001a7c
mov esi, dword [esp + 0x18]
jmp 0x1000441d
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xa0]
mov dword [esp], eax
jmp 0x1000441d
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
jmp 0x10004622
xor eax, eax
push ecx
push eax
call fcn.1007e510
pop eax
pop ecx
jmp 0x1000482e
push esi
push edx
call fcn.1007e510
pop eax
pop ecx
jmp 0x1000482e
movq xmm0, qword [esp + 0x1e8]
movq xmm1, qword [esp + 0x1f0]
lea eax, [esp + 0x20]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
push 0x100bb494
push 0x100bb3bc
push eax
push 0x13
push 0x100bb475
call fcn.1008a2f0
add esp, 0x14
jmp 0x1000482e
movq xmm0, qword [esp + 0x1e8]
movq qword [esp + 0x20], xmm0
push 0x100c1b88
push 0x100bb39c
lea eax, [esp + 0x28]
push eax
push 0
push 1
call fcn.1008a2f0
add esp, 0x14
jmp 0x1000482e
mov dword [esp + 0xa0], 0x100bb2de
push 0x20
pop eax
mov dword [esp + 8], eax
jmp 0x100044a0
mov dword [esp + 0xa0], edx
mov dword [esp + 8], ecx
jmp 0x10004472
push 2
pop eax
mov dword [esp], eax
mov dword [esp + 0xa0], str.Support_for_multi_disk_files_is_not_implemented
push 0x2f
pop eax
mov dword [esp + 8], eax
jmp 0x10004440
push 0x100bb1d4
push 0x100bb3ac
lea eax, [esp + 0x28]
push eax
push 0x46
push str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_std_src_threadlocal.rs
call fcn.1008a2f0
add esp, 0x14
jmp 0x1000482e
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
jmp 0x10004416
mov dword [esp + 0x20], 0x100c1bb8
mov dword [esp + 0x24], 1
and dword [esp + 0x30], 0
mov dword [esp + 0x28], 4
and dword [esp + 0x2c], 0
push 0x100c1bc0
lea eax, [esp + 0x24]
push eax
call fcn.10089dd0
pop eax
pop ecx
jmp 0x1000482e
mov eax, 0x100bb260
push 0x21
pop ecx
jmp 0x10004786
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
push 0x100c1bd0
push 0x100bb38c
lea eax, [esp + 0x28]
push eax
push 0
push 1
call fcn.1008a2f0
add esp, 0x14
jmp 0x1000482e
ud2