Function at 0x1005e414
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe50
mov eax, dword [ebp + 0x10]
lea ecx, [eax + 8]
mov dword [esp + 0x15c], ecx
mov cl, byte [eax + 0xe]
mov byte [esp + 0x6d], cl
mov cl, byte [eax + 9]
mov byte [esp + 0x6f], cl
mov cl, byte [eax + 0xd]
mov byte [esp + 0x6e], cl
mov eax, dword [eax]
mov dword [esp + 0x158], eax
add eax, 8
mov dword [esp + 0x154], eax
mov esi, dword [0x1017e714]
lea edi, [esp + 0x1c0]
mov eax, dword [esi]
test eax, eax
je 0x1005e5c4
mov byte [esp + 0x124], 0
mov word [esp + 0x110], 0
xor eax, eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x114], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_srcioimpls.rs
mov dword [esp + 0x118], eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
push 0x64
push edi
push dword [eax + 4]
push ebx
lea eax, [esp + 0x120]
push eax
push dword [esp + 0x170]
lea eax, [esp + 0x98]
push eax
call fcn.1006adc0
add esp, 0x1c
mov eax, dword [esp + 0x80]
test eax, eax
je 0x1005e522
cmp eax, 2
jne 0x1005f4a2
movzx eax, byte [esp + 0x84]
cmp eax, 6
jne 0x1005f4b4
cmp byte [esp + 0x6d], 0
je 0x1005f4b4
mov eax, dword [esi]
mov cx, 0xc8
mov dword [esp + 0x4c], ecx
test eax, eax
je 0x1005ee24
xor esi, esi
xor eax, eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x68], 0
jmp 0x1005e80e
mov eax, dword [esp + 0x84]
mov dword [esp + 0xb0], eax
mov eax, dword [esi]
test eax, eax
mov dword [esp + 0x90], ebx
je 0x1005ed1b
cmp word [esp + 0x110], 0
je 0x1005fbe5
movzx eax, word [esp + 0x112]
lea ecx, [eax - 0x3e8]
movzx ecx, cx
cmp ecx, 0xfc7c
jb 0x1005f4cf
mov word [esp + 0xa4], ax
mov edi, dword [esp + 0x11c]
test edi, edi
je 0x1005fbef
mov ebx, dword [esp + 0x120]
lea eax, [esp + 0xa4]
push eax
call fcn.100acab0
add esp, 4
test eax, eax
je 0x1005e718
push edx
push eax
push ebx
push edi
call fcn.1005a98c
add esp, 0x10
test al, al
je 0x1005e718
mov dword [esp + 0x30], 0
jmp 0x1005e727
mov al, byte [0x1017d150]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1005f0ff
movzx eax, al
push eax
push dword [0x1017d148]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005e46f
mov eax, dword [0x1017d148]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fc72
mov edi, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
mov esi, dword [eax + 0x28]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
xor ebx, ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0xc0], 0x1010da24
mov dword [esp + 0xc4], 1
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xc8], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_srcioimpls.rs
mov dword [esp + 0xcc], ebx
cmp ecx, 1
je 0x1005fc72
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x94], ecx
add eax, 0x1c
mov dword [esp + 0x20], 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x110], ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x114], ecx
mov dword [esp + fcn.10001480], 0x1010d47c
lea ecx, [esp + 0x10]
mov dword [esp + 0x11c], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 0x120], ecx
mov dword [esp + fcn.10001480], 0x1010da2c
lea ecx, [esp + 0x110]
push ecx
push eax
lea eax, [esp + 0x58]
push eax
call fcn.100779af
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [esp + 0x78], eax
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x70], xmm0
lea eax, [esp + 0x70]
push eax
push dword [0x1017d148]
call fcn.1008cd25
add esp, 8
lea edi, [esp + 0x1c0]
mov esi, dword [0x1017e714]
jmp 0x1005e46f
push ebx
push edi
lea eax, [esp + 0x38]
push eax
call fcn.100ae3e1
add esp, 0xc
cmp byte [esp + 0x124], 0
je 0x1005fbf9
cmp byte [esp + 0x125], 1
sete al
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x118]
cmp eax, 0x64
mov ecx, 0x64
cmovb ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], eax
test eax, eax
je 0x1005e7cb
mov eax, dword [esp + 0x114]
shl dword [esp + 0x4c], 4
xor ebx, ebx
mov dword [esp + 0xc], eax
mov ecx, dword [eax + ebx + 4]
cmp ecx, 0xffff
ja 0x1005f29d
mov esi, dword [eax + ebx]
mov edx, dword [eax + ebx + 8]
mov edi, dword [esp + 0x90]
sub esi, edi
add ecx, esi
mov eax, dword [esp + 0xc]
mov eax, dword [eax + ebx + 0xc]
mov dword [esp + ebx + 0x80c], esi
mov dword [esp + ebx + 0x810], ecx
sub edx, edi
add eax, edx
mov dword [esp + ebx + 0x814], edx
mov dword [esp + ebx + 0x818], eax
mov eax, dword [esp + 0xc]
add ebx, 0x10
cmp dword [esp + 0x4c], ebx
jne 0x1005e774
mov eax, dword [esp + 0x48]
inc al
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0xb0]
movzx eax, word [esp + 0xa4]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0x34]
mov eax, dword [ecx + 8]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x30]
movsd xmm0, qword [ecx]
movsd qword [esp + 0x100], xmm0
lea edi, [esp + 0x1c0]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x108]
lea ecx, [esp + 0x98]
mov dword [ecx + 8], eax
movsd xmm0, qword [esp + 0x100]
movsd qword [ecx], xmm0
push esi
push dword [ebp + 0xc]
lea eax, [esp + 0x108]
push eax
call fcn.100aeda0
add esp, 0xc
cmp byte [esp + 0x6f], 0
je 0x1005e8c7
mov eax, dword [esp + 0x68]
cmp eax, 0x65
jae 0x1005fbd8
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
test eax, eax
je 0x1005e8d9
shl eax, 4
lea edx, [esp + eax]
add edx, 0x80c
lea esi, [esp + 0x80c]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
cmp ebx, edi
ja 0x1005fb7e
cmp edi, dword [esp + 0xc]
ja 0x1005fb8a
cmp ebx, edi
je 0x1005e8b7
movzx eax, byte [ecx + ebx]
cmp eax, 0xd
je 0x1005e8ae
cmp eax, 0xa
jne 0x1005e8b2
mov byte [ecx + ebx], 0x20
inc ebx
cmp edi, ebx
jne 0x1005e8a0
add esi, 0x10
cmp esi, edx
jne 0x1005e884
lea edi, [esp + 0x1c0]
jmp 0x1005e8d9
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x10c]
test bl, 1
jne 0x1005e900
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ebx
mov eax, dword [0x1017e7b4]
mov dword [esp + 0x70], eax
jmp 0x1005e95e
shr ebx, 5
push ebx
push dword [esp + 0x10c]
push dword [esp + 0x14]
push ecx
lea esi, [esp + 0x20]
push esi
call fcn.100af1be
add esp, 0x14
push esi
lea eax, [esp + 0x114]
push eax
call fcn.100ae87e
add esp, 8
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x118]
mov ecx, eax
sub ecx, ebx
jb 0x1005fc03
mov dword [esp + 0x118], ecx
add dword [esp + 0x114], ebx
movups xmm0, xmmword [esp + 0x110]
movaps xmmword [esp + 0x70], xmm0
mov edx, dword [esp + 0x158]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edx], 3
mov dword [edx + 4], 0
mov edx, eax
xor edx, 3
or edx, ecx
jne 0x1005e992
lea eax, [esp + 0x110]
push eax
call fcn.100a7fdb
add esp, 4
jmp 0x1005e9ce
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
mov eax, dword [esp + 0x154]
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmm2, xmmword [eax + 0x20]
movsd xmm3, qword [eax + 0x30]
lea eax, [esp + 0x118]
movsd qword [eax + 0x30], xmm3
movups xmmword [eax + 0x20], xmm2
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
cmp byte [esp + 0x48], 2
sete byte [esp + 0xc]
cmp byte [esp + 0x6e], 0
je 0x1005ea0d
movaps xmm0, xmmword [0x1010caa0]
movups xmmword [esp + 0xd8], xmm0
movaps xmm0, xmmword [0x1010cab0]
movups xmmword [esp + 0xe8], xmm0
mov word [esp + 0xf8], 0
xor eax, eax
xor ecx, ecx
jmp 0x1005ea14
xor ecx, ecx
mov eax, 3
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
mov ebx, dword [esp + 0x68]
push ebx
lea eax, [esp + 0x114]
push eax
call fcn.10067a60
add esp, 8
cmp ebx, 0x65
jae 0x1005fbcb
test ebx, ebx
je 0x1005eb97
shl ebx, 4
xor esi, esi
mov eax, dword [esp + esi + 0x80c]
mov ecx, dword [esp + esi + 0x810]
mov edx, ecx
sub edx, eax
jb 0x1005fb99
mov edi, dword [esp + 0x78]
cmp ecx, edi
ja 0x1005fba5
add eax, dword [esp + 0x74]
push edx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.100a836b
add esp, 0xc
cmp dword [esp + 0x30], 0
jne 0x1005f192
lea eax, [esp + 0x34]
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x50], xmm0
push dword [esp + esi + 0x818]
push dword [esp + esi + 0x818]
lea eax, [esp + 0x78]
push eax
lea edi, [esp + 0x1cc]
push edi
call fcn.100ae4d3
add esp, 0x10
push edi
lea eax, [esp + 0x14]
push eax
call fcn.1005c8d4
add esp, 8
cmp dword [esp + 0x50], 0
jne 0x1005eb0f
cmp byte [esp + 0x54], 0x14
jne 0x1005eb0f
test byte [esp + 0xc], 1
jne 0x1005eaf6
lea ecx, [esp + 0x10]
mov edx, str.keep_aliveclose
push 0xa
call fcn.1005cfbe
add esp, 4
jmp 0x1005eb0b
lea ecx, [esp + 0x10]
mov edx, 0x1010d52e
push 5
call fcn.1005cfbe
add esp, 4
xor al, 1
mov byte [esp + 0xc], al
mov eax, dword [esp + 0xc0]
xor eax, 3
or eax, dword [esp + 0xc4]
je 0x1005eb54
push dword [esp + esi + 0x810]
push dword [esp + esi + 0x810]
lea eax, [esp + 0x78]
push eax
push edi
call fcn.100ae4d3
add esp, 0x10
push edi
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.10067133
add esp, 0xc
movaps xmm0, xmmword [esp + 0x50]
movaps xmmword [esp + 0x30], xmm0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1d0], eax
movups xmm0, xmmword [esp + 0x10]
movaps xmmword [esp + 0x1c0], xmm0
push edi
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.1008350c
add esp, 0xc
add esi, 0x10
cmp ebx, esi
jne 0x1005ea4d
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
xor eax, 3
mov dword [esp + 0x90], eax
mov dword [esp + 0x68], ecx
or eax, ecx
mov esi, dword [0x1017e714]
je 0x1005ec3d
movups xmm0, xmmword [esp + 0xf0]
movaps xmmword [esp + 0x1b0], xmm0
movups xmm0, xmmword [esp + 0xe0]
movaps xmmword [esp + 0x1a0], xmm0
movups xmm0, xmmword [esp + 0xc0]
movups xmm1, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x190], xmm1
movaps xmmword [esp + 0x180], xmm0
lea eax, [esp + 0x180]
push eax
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.1005becf
add esp, 0xc
mov eax, dword [esp + 0x1c0]
xor eax, 3
or eax, dword [esp + 0x1c4]
je 0x1005ec3d
push edi
call fcn.1005bac1
add esp, 4
mov eax, dword [esp + 0x94]
mov dword [esp + 0x8c], eax
test eax, eax
je 0x1005ec9f
movups xmm0, xmmword [esp + 0x94]
movaps xmmword [esp + 0x170], xmm0
lea eax, [esp + 0x170]
push eax
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.1005bdc0
add esp, 0xc
mov eax, dword [esp + 0x1c0]
test eax, eax
je 0x1005ec9f
push dword [esp + 0x1c8]
push dword [esp + 0x1c8]
lea ecx, [esp + 0x1d4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
movups xmm0, xmmword [esp + 0x140]
movaps xmmword [esp + 0x1f0], xmm0
movups xmm0, xmmword [esp + 0x130]
movaps xmmword [esp + 0x1e0], xmm0
movups xmm0, xmmword [esp + 0x110]
movups xmm1, xmmword [esp + 0x120]
movaps xmmword [esp + 0x1d0], xmm1
movaps xmmword [esp + 0x1c0], xmm0
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x206], cl
mov ecx, dword [esp + 0x4c]
mov word [esp + 0x204], cx
mov dword [esp + 0x200], eax
movzx eax, cx
cmp eax, 0x64
jg 0x1005ef25
je 0x1005ef55
jmp 0x1005ef44
mov al, byte [0x1017d144]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1005f143
movzx eax, al
push eax
push dword [0x1017d13c]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005e541
mov eax, dword [0x1017d13c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fc80
mov edx, dword [eax + 0x1c]
mov edi, dword [eax + 0x24]
mov ebx, dword [eax + 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
add eax, 0x1c
xor edx, edx
mov dword [esp + 0x20], edx
lea ecx, [esp + 0xb0]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], fcn.100db900
mov dword [esp + 0xc0], 0x1010da68
mov dword [esp + 0xc4], 2
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0x94]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], 1
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 0x1010d47c
lea ecx, [esp + 0x30]
push ecx
push eax
lea eax, [esp + 0x58]
push eax
call fcn.100779c8
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [esp + 0x78], eax
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x70], xmm0
lea eax, [esp + 0x70]
push eax
push dword [0x1017d13c]
call fcn.1008cd25
add esp, 8
jmp 0x1005e541
mov al, byte [0x1017d138]
mov dword [esp + 0x48], eax
movzx esi, al
lea eax, [esi - 1]
cmp eax, 2
jae 0x1005f165
movzx eax, byte [esp + 0x48]
push eax
push dword [0x1017d130]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005e509
mov eax, dword [0x1017d130]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fc87
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
add eax, 0x1c
mov dword [esp + 0x1c], edi
xor esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0xc0], 0x1010dae4
mov dword [esp + 0xc4], 1
mov dword [esp + 0xd0], esi
mov dword [esp + 0xc8], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_srcioimpls.rs
mov dword [esp + 0xcc], esi
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 0x1010d47c
lea ecx, [esp + 0x30]
push ecx
push eax
lea eax, [esp + 0x58]
push eax
call fcn.100779c8
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [esp + 0x78], eax
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x70], xmm0
lea eax, [esp + 0x70]
push eax
push dword [0x1017d130]
call fcn.1008cd25
add esp, 8
xor eax, eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x68], 0
jmp 0x1005e807
cmp eax, 0x65
je 0x1005f63e
cmp eax, 0xcc
je 0x1005f609
cmp eax, 0x130
je 0x1005f609
mov eax, dword [esp + 0x4c]
add eax, 0xffffff9a
cmp ax, 0x62
jae 0x1005f4e5
mov eax, dword [esi]
test eax, eax
je 0x1005f007
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], 0
je 0x1005f476
mov ecx, edi
call fcn.1002bebe
lea ecx, [esp + 0x200]
call fcn.10018056
mov eax, dword [esp + 0x68]
or dword [esp + 0x90], eax
jne 0x1005efaf
mov eax, dword [esp + 0xc0]
xor eax, 3
or eax, dword [esp + 0xc4]
je 0x1005efaf
lea eax, [esp + 0xc0]
push eax
call fcn.1005bac1
add esp, 4
mov eax, dword [esp + 0x70]
push dword [esp + 0x78]
push dword [esp + 0x78]
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0xc
cmp dword [esp + 0x8c], 0
jne 0x1005e465
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005e465
push dword [esp + 0x9c]
push dword [esp + 0x9c]
lea ecx, [esp + 0xa8]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x1005e465
mov al, byte [0x1017d108]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1005f121
movzx eax, al
push eax
push dword [0x1017d100]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005ef5f
mov eax, dword [0x1017d100]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fc79
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x4c]
mov word [esp + 0xac], cx
add eax, 0x1c
xor esi, esi
mov dword [esp + 0x40], esi
lea ecx, [esp + 0xac]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], fcn.100db710
mov dword [esp + 0x10], 0x1010ddb4
mov edx, 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], esi
lea ecx, [esp + 0xb0]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 0x1010d47c
lea ecx, [esp + 0x50]
push ecx
push eax
lea esi, [esp + 0x88]
push esi
call fcn.100779c8
add esp, 0xc
push esi
push dword [0x1017d100]
call fcn.1008cd25
add esp, 8
lea edi, [esp + 0x1c0]
mov esi, dword [0x1017e714]
jmp 0x1005ef5f
test ecx, ecx
je 0x1005e46f
push 0x1017d148
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1005e5d8
jmp 0x1005e46f
test ecx, ecx
je 0x1005ef5f
push 0x1017d100
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1005f01b
jmp 0x1005ef5f
test ecx, ecx
je 0x1005e541
push 0x1017d13c
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1005ed2f
jmp 0x1005e541
xor eax, eax
test esi, esi
jne 0x1005f174
mov dword [esp + 0x68], esi
jmp 0x1005e80e
push 0x1017d130
call fcn.100ff6f5
add esp, 4
mov dword [esp + 0x48], eax
test al, al
jne 0x1005ee3c
jmp 0x1005e509
mov eax, dword [0x1017e714]
mov eax, dword [eax]
cmp eax, 4
ja 0x1005f3a0
mov al, byte [0x1017d12c]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1005f398
movzx eax, al
push eax
push dword [0x1017d124]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005f3a0
mov eax, dword [0x1017d124]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fc8e
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
lea ecx, [esp + 0xaf]
mov dword [esp + 0xa4], ecx
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + str.Internal_Hyper_error__please_report__], 0x1010db50
xor edx, edx
inc edx
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1d0], ecx
lea ecx, [esp + 0xa4]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x84], ecx
add eax, 0x1c
mov dword [esp + 0xa8], 0x100a8669
mov dword [esp + 0x88], 0x1010d47c
lea ecx, [esp + 0x80]
push ecx
push eax
lea esi, [esp + 0xb8]
push esi
call fcn.100779c8
add esp, 0xc
push esi
push dword [0x1017d124]
call fcn.1008cd25
add esp, 8
jmp 0x1005f3a0
mov esi, eax
mov eax, dword [0x1017e714]
mov eax, dword [eax]
cmp eax, 1
ja 0x1005f43e
mov al, byte [0x1017d0a8]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1005f436
movzx eax, al
push eax
push dword [0x1017d0a0]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005f43e
mov eax, dword [0x1017d0a0]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fc95
mov edi, esi
add edi, ebx
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov ebx, dword [eax + 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x94], edi
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc0], 0x1010de84
xor edx, edx
inc edx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
lea ecx, [esp + 0x10]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x54], ecx
add eax, 0x1c
mov dword [esp + 0x98], 0x100685b0
mov dword [esp + 0x58], 0x1010d47c
lea ecx, [esp + 0x50]
push ecx
push eax
lea esi, [esp + 0x78]
push esi
call fcn.100779c8
add esp, 0xc
push esi
push dword [0x1017d0a0]
call fcn.1008cd25
add esp, 8
jmp 0x1005f43e
test ecx, ecx
jne 0x1005f611
mov eax, dword [ebp + 8]
mov byte [eax + 8], 0xb
mov dword [eax + 4], 0
mov dword [eax], 4
xor ecx, ecx
xor eax, eax
xor ebx, ebx
test al, al
jne 0x1005f3e5
mov eax, dword [esp + 0xc0]
xor eax, 3
or eax, dword [esp + 0xc4]
je 0x1005f3e5
lea eax, [esp + 0xc0]
push eax
mov esi, ecx
call fcn.1005bac1
mov ecx, esi
add esp, 4
test cl, cl
jne 0x1005f3f5
lea ecx, [esp + 0x110]
call fcn.1002bebe
mov eax, dword [esp + 0x70]
push dword [esp + 0x78]
push dword [esp + 0x78]
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov eax, dword [esp + 0x94]
test eax, eax
sete cl
or bl, cl
jne 0x1005f46b
push dword [esp + 0x9c]
push dword [esp + 0x9c]
lea ecx, [esp + 0xa8]
jmp 0x1005f464
test ecx, ecx
jne 0x1005f6c3
mov eax, dword [ebp + 8]
mov byte [eax + 8], 9
mov dword [eax + 4], 0
mov dword [eax], 4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1005f46b
lea ecx, [esp + 0x3c]
push dword [ecx - 4]
push dword [ecx - 8]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov ecx, 3
mov edx, dword [ebp + 8]
mov dword [edx], ecx
mov dword [edx + 4], eax
lea ecx, [esp + 0x1c0]
call fcn.1002bebe
lea ecx, [esp + 0x200]
call fcn.10018056
jmp 0x1005f6a2
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0
mov dword [eax], 3
jmp 0x1005f46b
mov al, byte [eax + 0x101102d4]
mov ecx, dword [ebp + 8]
mov byte [ecx + 8], al
mov dword [ecx + 4], 0
mov dword [ecx], 4
jmp 0x1005f46b
mov eax, dword [ebp + 8]
mov byte [eax + 8], 0xa
mov dword [eax + 4], 0
mov dword [eax], 4
jmp 0x1005f46b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
movzx eax, byte [eax]
cmp eax, 5
je 0x1005f609
cmp eax, 7
je 0x1005f62b
cmp eax, 0xb
jne 0x1005f6e5
mov eax, dword [esi]
test eax, eax
jne 0x1005f6e5
mov al, byte [0x1017d0fc]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1005f6dd
movzx eax, al
push eax
push dword [0x1017d0f4]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005f6e5
mov eax, dword [0x1017d0f4]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fca6
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], 0x1010dc80
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_srcioimpls.rs
mov dword [esp + 0x1c], ecx
add eax, 0x1c
lea ecx, [esp + 0x30]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 0x1010d47c
lea ecx, [esp + 0x50]
push ecx
push eax
lea eax, [esp + 0x88]
push eax
call fcn.100779c8
add esp, 0xc
mov eax, dword [esp + 0x88]
mov dword [esp + 0xb8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0xb0], xmm0
lea eax, [esp + 0xb0]
push eax
push dword [0x1017d0f4]
call fcn.1008cd25
add esp, 8
lea edi, [esp + 0x1c0]
mov esi, dword [0x1017e714]
jmp 0x1005f6e5
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x1005f644
push 0x1017d124
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1005f1b6
jmp 0x1005f3a0
mov eax, dword [esp + 0x4c]
add eax, 0xffffff38
cmp ax, 0x64
jae 0x1005f6e5
xor eax, eax
mov bl, 1
xor edx, edx
mov dword [esp + 0x4c], ebx
test byte [esp + 0xc], 1
jne 0x1005f677
lea esi, [esp + 0x1c0]
mov ecx, 0x12
mov ebx, dword [ebp + 8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x48], eax
mov word [ebx + 0x50], 0
mov eax, dword [esp + 0x4c]
mov byte [ebx + 0x52], al
jmp 0x1005f6a2
lea esi, [esp + 0x1c0]
mov ecx, 0x12
mov ebx, dword [ebp + 8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x48], eax
mov ecx, dword [esp + 0x4c]
mov eax, ecx
xor al, 1
mov byte [ebx + 0x50], 0
mov byte [ebx + 0x51], al
mov byte [ebx + 0x52], cl
mov eax, dword [esp + 0x8c]
test eax, eax
setne bl
mov eax, dword [esp + 0x68]
or dword [esp + 0x90], eax
setne al
mov cl, 1
jmp 0x1005f3ba
push 0x1017d0a0
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1005f2c3
jmp 0x1005f43e
test ecx, ecx
jne 0x1005fb64
movups xmm0, xmmword [0x1010d544]
movaps xmmword [esp + 0x10], xmm0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.1008312b
add esp, 8
test al, al
je 0x1005f7dc
cmp byte [esp + 0x206], 1
jne 0x1005f821
mov eax, dword [esi]
mov bl, 2
cmp eax, 1
ja 0x1005fb00
mov al, byte [0x1017d0f0]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1005fadd
movzx eax, al
push eax
push dword [0x1017d0e8]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005fb00
mov eax, dword [0x1017d0e8]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fcad
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], 0x1010dd78
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_srcioimpls.rs
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], ecx
add eax, 0x1c
mov dword [esp + 0x58], 0x1010d47c
lea ecx, [esp + 0x50]
push ecx
push eax
lea esi, [esp + 0x88]
push esi
call fcn.100779c8
add esp, 0xc
push esi
push dword [0x1017d0e8]
jmp 0x1005f92c
lea esi, [esp + 0x160]
push edi
push esi
call fcn.1005d0bb
add esp, 8
cmp dword [esi], 1
jne 0x1005f842
push dword [esp + 0x16c]
push dword [esp + 0x16c]
lea eax, [esp + 0x18]
push eax
call fcn.100632f0
add esp, 0xc
cmp byte [esp + 0x10], 0
je 0x1005fa0e
mov bl, byte [esp + 0x11]
jmp 0x1005fb00
lea ecx, [esp + 0x1c0]
call fcn.1005d2d3
test al, al
je 0x1005f939
xor edx, edx
dec edx
mov eax, 0xfffffffe
jmp 0x1005f60d
movups xmm0, xmmword [0x1010d534]
movaps xmmword [esp + 0x10], xmm0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.1008312b
add esp, 8
mov ecx, dword [0x1017e714]
mov ecx, dword [ecx]
test al, al
je 0x1005f9fe
mov bl, 1
cmp ecx, 1
ja 0x1005fb00
mov al, byte [0x1017d0d8]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1005faf8
movzx eax, al
push eax
push dword [0x1017d0d0]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005fb00
mov eax, dword [0x1017d0d0]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fcb4
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], 0x1010dcfc
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_srcioimpls.rs
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], ecx
add eax, 0x1c
mov dword [esp + 0x58], 0x1010d47c
lea ecx, [esp + 0x50]
push ecx
push eax
lea esi, [esp + 0x88]
push esi
call fcn.100779c8
add esp, 0xc
push esi
push dword [0x1017d0d0]
call fcn.1008cd25
add esp, 8
jmp 0x1005fb00
mov eax, dword [esi]
test eax, eax
jne 0x1005fa02
mov bl, byte [0x1017d0e4]
movzx ecx, bl
lea eax, [ecx - 1]
cmp eax, 2
jae 0x1005fb12
movzx eax, bl
push eax
push dword [0x1017d0dc]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005fa02
mov eax, dword [0x1017d0dc]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fcbb
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
lea ecx, [esp + 0x30]
mov dword [esp + 0x50], ecx
add eax, 0x1c
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], ecx
xor ebx, ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x10], 0x1010dd30
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_srcioimpls.rs
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x58], 0x1010d47c
lea ecx, [esp + 0x50]
push ecx
push eax
lea esi, [esp + 0x88]
push esi
call fcn.100779c8
add esp, 0xc
push esi
push dword [0x1017d0dc]
jmp 0x1005facd
test ecx, ecx
je 0x1005fa1b
xor eax, eax
dec eax
xor ebx, ebx
mov edx, eax
jmp 0x1005f644
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x1005f60d
mov bl, byte [0x1017d0cc]
movzx ecx, bl
lea eax, [ecx - 1]
cmp eax, 2
jae 0x1005fb3b
movzx eax, bl
push eax
push dword [0x1017d0c4]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1005fa02
mov eax, dword [0x1017d0c4]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1005fcc2
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
lea ecx, [esp + 0x30]
mov dword [esp + 0x50], ecx
add eax, 0x1c
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], ecx
xor ebx, ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x10], 0x1010dcc4
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_srcioimpls.rs
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x58], 0x1010d47c
lea ecx, [esp + 0x50]
push ecx
push eax
lea esi, [esp + 0x88]
push esi
call fcn.100779c8
add esp, 0xc
push esi
push dword [0x1017d0c4]
call fcn.1008cd25
add esp, 8
xor eax, eax
dec eax
jmp 0x1005fa07
test ecx, ecx
je 0x1005fb00
push 0x1017d0e8
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1005f736
jmp 0x1005fb00
test ecx, ecx
jne 0x1005fbb1
mov eax, dword [ebp + 8]
mov byte [eax + 8], bl
xor eax, eax
mov ecx, 4
jmp 0x1005f47d
xor eax, eax
dec eax
mov edx, eax
test ecx, ecx
je 0x1005f644
push 0x1017d0dc
call fcn.100ff6f5
add esp, 4
mov ebx, eax
test al, al
jne 0x1005f958
jmp 0x1005fa02
xor eax, eax
dec eax
mov edx, eax
test ecx, ecx
je 0x1005f644
push 0x1017d0c4
call fcn.100ff6f5
add esp, 4
mov ebx, eax
test al, al
jne 0x1005fa30
jmp 0x1005fa02
push 0x1017d0f4
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1005f527
jmp 0x1005f6e5
push 0x1010db58
push edi
push ebx
call fcn.10101640
push 0x1010db58
push dword [esp + 0x10]
push edi
call fcn.10101620
push 0x1010db0c
push ecx
push eax
call fcn.10101640
push 0x1010db0c
push edi
push ecx
call fcn.10101620
push 0x1017d0d0
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1005f88b
jmp 0x1005fb00
push 0x1010dafc
push 0x64
push ebx
call fcn.10101620
push 0x1010daec
push 0x64
push eax
call fcn.10101620
push 0x1010da78
call fcn.10101170
push 0x1010da88
call fcn.10101170
push 0x1010da98
call fcn.10101170
mov dword [esp + 0x30], eax
lea eax, [esp + 0x50]
mov dword [esp + 0xc0], eax
mov eax, 0x1000134d
mov dword [esp + 0xc4], eax
lea ecx, [esp + 0x30]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
mov dword [esp + 0x1c0], 0x1010d27c
mov eax, 2
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1d0], 0
lea ecx, [esp + 0xc0]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], eax
push 0x1010d2a4
push edi
call fcn.101011a0
push 0x1010da04
jmp 0x1005fc9a
push 0x1010dd80
jmp 0x1005fc9a
push 0x1010da3c
jmp 0x1005fc9a
push 0x1010daa8
jmp 0x1005fc9a
push 0x1010db1c
jmp 0x1005fc9a
push 0x1010de54
push 0x22
push 0x1010d428
call fcn.10101180
push 0x1010dc48
jmp 0x1005fc9a
push 0x1010dd38
jmp 0x1005fc9a
push 0x1010dccc
jmp 0x1005fc9a
push 0x1010dd04
jmp 0x1005fc9a
push 0x1010dc88
jmp 0x1005fc9a