Function at 0x47ee4f
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x6e8
mov edi, ecx
push 8
pop ecx
push 4
pop edx
call fcn.00422855
mov esi, eax
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
call fcn.004d8b71
xor ebx, ebx
mov ecx, 0x400
mov byte [esp + 0x128], bl
mov dword [esp + 0x118], ecx
and dword [esp + 0x108], 0
mov dword [esp + 0x11c], 0x200
mov dword [esp + 0x100], esi
mov dword [esp + 0x104], 0x549a1c
and dword [esp + 0x110], 0
and dword [esp + 0xe0], 0
and dword [esp + 0xe8], 0
and dword [esp + 0xf0], 0
and dword [esp + 0xf8], 0
mov dword [esp + 0xd8], 0x3b9aca00
mov dword [esp + 0x120], 0x1f
mov dword [esp + 0x124], 0x3d
and dword [esp + 0xc0], 0
mov byte [esp + 0xc4], bl
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edx
lea edx, [esp + 0x30]
lea esi, [esp + 0x340]
mov dword [esp + 0x129], 0x101
mov dword [edx + 4], 0x10101
mov dword [edx], ecx
mov ecx, esi
call fcn.004de044
mov eax, dword [esi]
cmp eax, 2
jne 0x47ef94
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x348]
call fcn.00480f87
mov ecx, dword [edi + 0x1a8]
mov edx, eax
call fcn.00480f9e
test eax, eax
mov dword [esp + 0x340], eax
mov dword [esp + 0x344], edx
je 0x47f91d
cmp eax, 1
jne 0x47f911
lea ecx, [esp + 0x518]
mov dword [ecx], edx
jmp 0x47f918
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34c]
mov dword [esp + 8], edi
lea esi, [esp + 0x518]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
push 0x1b4
push eax
push esi
call fcn.004fea40
add esp, 0xc
lea eax, [esp + 0x130]
push 0xf8
push esi
push eax
call fcn.004fea40
add esp, 0xc
lea eax, [esp + 0x614]
lea ecx, [esp + 0x238]
push 0xb8
push eax
push ecx
call fcn.004fea40
add esp, 0xc
lea ecx, [esp + 0xc0]
mov edx, 0x200
call fcn.004de7bb
mov dword [esp + 0x20], eax
mov dword [esp + 4], edx
lock inc dword [edx]
jle 0x480e90
lea esi, [esp + 0xc0]
mov ecx, esi
call fcn.004dac15
mov ecx, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], edx
call fcn.004dac15
mov dword [esp + 0x44], edx
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov dword [esp + 0x48], eax
call fcn.00470577
mov dword [esp + 0x64], edx
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x68], eax
call fcn.00470577
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x64]
mov dword [esp + 0x40], eax
mov al, byte [esi + 0x6c]
mov byte [esp + 0x28], al
call fcn.004dbadf
mov dword [esp + 0xac], eax
call fcn.004de9ae
mov edi, eax
mov esi, edx
push 8
pop edx
mov ecx, 0x140
call fcn.00422855
mov ecx, dword [esp + 0x48]
mov ebx, eax
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
xor eax, eax
and dword [ebx + 8], 0
mov byte [ebx + 0xc], al
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x44]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x18], edi
and dword [ebx + 0x20], 0
mov byte [ebx + 0x24], al
and dword [ebx + 0x28], 0
and dword [ebx + 0x2c], 0
mov byte [ebx + 0x30], al
and dword [ebx + 0x38], 0
mov byte [ebx + 0x3c], al
xor eax, eax
push 0x40
pop ecx
mov dword [ebx + 0x40], ecx
mov ecx, dword [esp + 0xac]
mov dword [ebx + 0x44], ecx
mov ecx, dword [esp + 0x10]
and dword [ebx + 0x4c], 0
and dword [ebx + 0x48], 0
and dword [ebx + 0x51], 0
and dword [ebx + 0x4d], 0
mov dword [ebx + 0x58], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x5c], ecx
mov ecx, dword [esp + 0x68]
mov dword [ebx + 0x60], ecx
mov ecx, dword [esp + 0x64]
mov dword [ebx + 0x64], ecx
mov ecx, dword [esp + 0x60]
mov dword [ebx + 0x68], ecx
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x70], ecx
mov ecx, dword [esp + 0x40]
mov dword [ebx + 0x74], ecx
mov cl, byte [esp + 0x28]
mov byte [ebx + 0x78], cl
mov byte [ebx + 0x7c], al
lea eax, [ebx + 0x80]
push 0xb8
lea ecx, [esp + 0x23c]
push ecx
push eax
call fcn.004fea40
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [ebx + 0x138], eax
call fcn.004dbadf
mov edi, eax
push 4
pop edx
mov ecx, 0x11c
call fcn.00422855
mov esi, eax
push 0x40
pop eax
mov dword [esi], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 4], edi
and dword [esi + 8], 0
and dword [esi + 0xc], 0
and dword [esi + 0x10], 0
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x18], eax
lea eax, [esi + 0x20]
push 0xf8
lea ecx, [esp + 0x134]
push ecx
push eax
call fcn.004fea40
add esp, 0xc
xor eax, eax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 4]
mov byte [esi + 0x118], al
mov dword [esp + 0x8c], ebx
and dword [esp + 0x90], 0
mov dword [esp + 0x94], esi
and dword [esp + 0x98], 0
mov byte [esp + 0x9c], al
mov al, byte [esp + 0x6e]
mov byte [esp + 0x9f], al
movzx eax, word [esp + 0x6c]
mov word [esp + 0x9d], ax
and dword [esp + 0xa0], 0
and dword [esp + 0xa4], 0
and dword [esp + 0xa8], 0
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ecx
and dword [esp + 0x88], 0
lea ecx, [esp + 0xc0]
call fcn.0048102e
push 0x1a8
mov esi, dword [esp + 0xc]
push esi
lea edi, [esp + 0x520]
push edi
call fcn.004fea40
add esp, 0xc
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
mov edx, dword [esp + 0x88]
xor ebx, ebx
mov dword [esp + 0x6c0], eax
mov dword [esp + 0x6d8], ecx
mov byte [esp + 0x6dc], bl
lea ecx, [esp + 0xb0]
push dword [esp + 0x8c]
call fcn.004db033
pop eax
cmp dword [esp + 0x90], ebx
mov ebx, edi
je 0x47f3d4
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x130]
push 0x53bbfc
push 1
push dword [esp + 0x94]
call fcn.004d8e28
add esp, 0xc
call fcn.004dd8b5
test edx, edx
je 0x480ea6
mov dword [esp + 0x238], eax
lea esi, [esp + 0xc0]
lea eax, [esp + 0x238]
mov dword [esp + 0x23c], edx
mov dword [esi], eax
push 0x1c8
push ebx
lea eax, [esp + 0x348]
push eax
call fcn.004fea40
add esp, 0xc
xor ecx, ecx
call fcn.004d890f
test eax, eax
je 0x47f330
mov bh, byte [eax + 0x3c]
mov cl, byte [eax + 0x3d]
mov word [eax + 0x3c], 0x8001
mov byte [esp + 4], cl
jmp 0x47f332
mov bh, 2
lea ecx, [esp + 0x340]
mov edx, esi
call fcn.004810e4
movzx edx, byte [esp + 4]
movzx ecx, bh
mov ebx, eax
call fcn.0046b7ce
test bl, bl
je 0x47f3a3
xor ecx, ecx
call fcn.004d890f
test eax, eax
je 0x47f381
add eax, 0x10
mov ecx, eax
call fcn.004825d8
mov ebx, dword [eax + 4]
mov edi, edx
test ebx, ebx
je 0x47f378
mov ecx, eax
call fcn.004d92cb
test ebx, ebx
setne al
inc dword [edi]
jmp 0x47f383
mov al, 2
movzx ecx, al
mov edx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_90c541806f23a127002de5b4038be731ba1458calibrary_std_src_threadlocal.rs
push 0x547984
push 0x46
call fcn.00482607
pop ecx
pop edx
call fcn.004dd9a8
jmp 0x47f313
lea ecx, [esp + 0x340]
call fcn.00481096
mov eax, dword [esp + 0x23c]
push dword [esp + 0x238]
call dword [eax + 0xc]
add esp, 4
lea ecx, [esp + 0x130]
call fcn.00481082
jmp 0x47fe37
lea edi, [esp + 0x94]
lea esi, [esp + 0x88]
push 0x1c8
push ebx
lea eax, [esp + 0x348]
push eax
call fcn.004fea40
add esp, 0xc
mov edx, dword [edi - 0xc]
lea ecx, [esp + 0xc0]
push 0x53d164
push 0
push dword [edi - 8]
call fcn.004d8e28
add esp, 0xc
mov ecx, esi
call fcn.004ddeaa
lea ecx, [esp + 0x134]
mov dword [esp + 0x10], eax
xor eax, eax
xchg dword [esp + 0x94], eax
test eax, eax
jne 0x47f942
and dword [esp + 0x74], 0
mov eax, dword [esp + 0xa8]
shr eax, 2
mov dword [esp + 0x130], eax
lea eax, [esp + 0x98]
and dword [esp + 0x134], 0
and dword [esp + 0x138], 0
and dword [esp + 0x140], 0
and dword [esp + 0x144], 0
mov dword [esp + 0x148], eax
mov al, byte [esp + 0x7f]
mov byte [esp + 0x14c], 0
mov byte [ecx + 0x1b], al
movzx eax, word [esp + 0x7d]
mov word [ecx + 0x19], ax
call fcn.004dd8b5
test edx, edx
je 0x47f8c6
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov dword [esp + 0xc], edi
call fcn.004d890f
test eax, eax
je 0x47f4d5
mov cl, byte [eax + 0x3c]
mov dl, byte [eax + 0x3d]
mov word [eax + 0x3c], 0x8001
mov byte [esp + 0x18], cl
mov byte [esp + 0x14], dl
jmp 0x47f4da
mov byte [esp + 0x18], 2
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x20], eax
mov dword [esp + 8], ecx
movzx eax, byte [esp + 0x14c]
cmp eax, 1
jne 0x47f5a0
lea esi, [esp + 0x144]
mov ecx, esi
push 2
pop edx
call fcn.004de9d6
mov edi, dword [esp + 8]
test eax, eax
jne 0x47f5ce
mov ecx, edi
call fcn.004db079
mov byte [esp + 4], dl
mov ecx, esi
xor edx, edx
mov ebx, eax
call fcn.004de9d6
test eax, eax
jne 0x47f5fc
mov eax, dword [edi + 0x10]
shr eax, 2
cmp eax, dword [esp + 0x130]
je 0x47f64e
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x140]
and dword [esp + 0x140], 0
mov ecx, ebx
lea edx, [esp + 0x134]
add ecx, 8
call fcn.004dc5a8
xor edx, edx
cmp byte [esp + 4], 0
mov ecx, ebx
mov byte [esp + 0x14c], 2
setne dl
call fcn.004db0cc
test edi, edi
je 0x47f4ed
push esi
call dword [edi + 0xc]
add esp, 4
jmp 0x47f4ed
mov esi, dword [esp + 8]
test eax, eax
jne 0x47f641
mov ecx, dword [esi + 0x10]
and ecx, 0xfffffffc
lea eax, [ecx + 2]
lock cmpxchg dword [esi + 0x10], ecx
mov edi, dword [esp + 0xc]
jne 0x47f68c
mov byte [esp + 0x14c], 2
jmp 0x47f645
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x13c]
and dword [esp + 0x140], 0
test ecx, ecx
je 0x47f5ef
push eax
call dword [ecx + 0xc]
add esp, 4
mov dword [esp + 0x144], 0
jmp 0x47f639
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x140]
and dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
xor edx, edx
mov ecx, ebx
cmp byte [esp + 4], 0
setne dl
call fcn.004db0cc
test edi, edi
je 0x47f639
push esi
call dword [edi + 0xc]
add esp, 4
mov byte [esp + 0x14c], 2
mov edi, dword [esp + 0xc]
xor ebx, ebx
xor esi, esi
jmp 0x47f787
mov edx, dword [esp + 0x140]
test edx, edx
je 0x47f724
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x13c]
mov edi, dword [eax]
mov esi, dword [eax + 4]
push esi
push edi
call fcn.004dbcfb
mov edx, edi
add esp, 8
mov edi, dword [esp + 0xc]
xor ecx, ecx
test al, al
je 0x47f72d
jmp 0x47f74f
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
push dword [ecx]
call dword [eax]
add esp, 4
mov ecx, esi
mov dword [esp + 0x20], eax
mov dword [esp + 4], edx
call fcn.004db079
mov ebx, dword [esi + 0x10]
mov ecx, eax
mov eax, ebx
shr eax, 2
cmp eax, dword [esp + 0x130]
jne 0x47f7f6
mov eax, ebx
and eax, 3
je 0x47f6f5
cmp eax, 2
jne 0x47f819
mov esi, dword [esp + 8]
and ebx, 0xfffffffc
lea eax, [ebx + 2]
lock cmpxchg dword [esi + 0x10], ebx
je 0x47f7f6
mov ebx, eax
and eax, 3
mov dword [esp + 0x50], eax
je 0x47f6c0
jmp 0x480d97
mov edi, dword [esp + 8]
and ebx, 0xfffffffc
lea esi, [ebx + 1]
mov eax, ebx
lock cmpxchg dword [edi + 0x10], esi
je 0x47f822
mov ebx, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x50], eax
jne 0x480db9
mov edi, dword [esp + 0xc]
jmp 0x47f6c0
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov esi, dword [eax + 4]
push edx
call dword [esi]
add esp, 4
mov edi, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], edx
xor edx, edx
cmp byte [esp + 4], 0
mov esi, ecx
mov ecx, ebx
setne dl
call fcn.004db0cc
mov eax, esi
test esi, esi
mov ebx, edi
je 0x47f771
push ebx
call dword [eax + 0xc]
add esp, 4
lea ecx, [esp + 0x340]
lea edx, [esp + 0x4c]
call fcn.004810e4
mov ebx, eax
inc al
mov esi, eax
mov dl, byte [esp + 0x14]
mov al, byte [esp + 0x18]
movzx ecx, al
movzx edx, dl
call fcn.0046b7ce
test bl, bl
je 0x47f8b4
xor ecx, ecx
call fcn.004d890f
test eax, eax
je 0x47f7d4
add eax, 0x10
mov ebx, edi
mov ecx, eax
call fcn.004825d8
mov esi, dword [eax + 4]
mov edi, edx
test esi, esi
je 0x47f7c9
mov ecx, eax
call fcn.004d92cb
test esi, esi
setne al
inc dword [edi]
mov edi, ebx
jmp 0x47f7d6
mov al, 2
movzx ecx, al
mov edx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_90c541806f23a127002de5b4038be731ba1458calibrary_std_src_threadlocal.rs
push 0x547984
push 0x46
call fcn.00482607
pop ecx
pop edx
call fcn.004dd9a8
jmp 0x47f4b0
movzx edx, dl
mov byte [esp + 0x14c], 2
call fcn.0043bbaa
push dword [esp + 0x20]
mov eax, dword [esp + 8]
call dword [eax + 0xc]
add esp, 4
jmp 0x47f645
cmp eax, 1
jne 0x480d88
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x13c]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x134]
mov dword [esp + 0x50], esi
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x140], eax
mov eax, dword [ecx + 8]
cmp eax, esi
je 0x480e48
mov dword [esp + 0x138], eax
and dword [esp + 0x134], 0
test eax, eax
lea esi, [esp + 0x134]
je 0x47f878
mov dword [eax], esi
mov dword [ecx + 8], esi
cmp dword [ecx + 0xc], 0
jne 0x47f88b
lea eax, [esp + 0x134]
mov dword [ecx + 0xc], eax
xor eax, eax
test dl, dl
mov byte [esp + 0x14c], 1
setne al
mov edx, eax
call fcn.004db0cc
mov eax, edi
test edi, edi
mov edi, dword [esp + 0xc]
jne 0x47f76a
jmp 0x47f771
mov eax, dword [esp + 0x34]
push dword [esp + 0x30]
call dword [eax + 0xc]
add esp, 4
mov eax, esi
jmp 0x47f8c8
mov al, 2
movzx ecx, al
mov edx, str.Failed_to__Enter::block_on_a_spawned_task_panicked_and_the_runtime_is_configured_to_shut_down_on_unhandled_panicO
push 0x53d164
push 0x1b
call fcn.00482607
pop ecx
pop edx
lea ecx, [esp + 0x130]
mov ebx, eax
call fcn.00489d1b
mov eax, dword [esp + 0x74]
test bl, bl
jne 0x47fdc7
test eax, eax
je 0x47f905
lea ecx, [esp + 0x6c]
call fcn.00489de8
lea ecx, [esp + 0x134]
jmp 0x47f426
lea ecx, [esp + 0x344]
call fcn.00476baf
lea ecx, [esp + 0xc0]
call fcn.0048102e
mov ecx, edi
call fcn.004766a7
add edi, 0x1ac
mov ecx, edi
call fcn.0047671d
jmp 0x480d3f
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
lock inc dword [ecx]
jle 0x480e90
and dword [esp + 0x6c], 0
mov dword [esp + 0x70], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x74], ecx
lea ebx, [esp + 0x30]
mov edx, 0x5486f8
mov dword [esp + 0x78], eax
mov ecx, ebx
movq xmm0, qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x74]
movq qword [ebx], xmm0
movsd qword [ebx + 8], xmm1
call fcn.00489e9d
mov ecx, dword [eax]
and dword [eax], 0
mov edi, edx
mov edx, 0x548708
mov esi, ecx
call fcn.00489ece
inc dword [edi]
push 0
call fcn.004d7b6d
pop ecx
test eax, eax
je 0x480f04
mov ecx, dword [eax]
mov dword [eax], ebx
lea edx, [esp + 0x50]
lea edi, [esp + 0x4c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov byte [eax + 0x7c], 1
lea ecx, [eax + 8]
mov dword [edi], edx
mov edi, esi
mov dword [edx], ecx
mov dword [edx + 4], 0x54a244
xor ecx, ecx
xchg byte [eax + 0x7c], cl
test cl, cl
je 0x47fa6f
mov ecx, ebx
mov edx, 0x5486ac
call fcn.00489e9d
mov ecx, eax
mov ebx, edi
mov edi, eax
mov esi, edx
call fcn.00489e03
mov dword [edi], ebx
inc dword [esi]
xor ecx, ecx
call fcn.004d890f
test eax, eax
je 0x47fa1e
mov bl, byte [eax + 0x3c]
mov bh, byte [eax + 0x3d]
mov word [eax + 0x3c], 0x8001
jmp 0x47fa20
mov bl, 2
lea ecx, [esp + 0x340]
lea edx, [esp + 0x4c]
call fcn.004810e4
movzx ecx, bl
movzx edx, bh
mov byte [esp + 4], al
call fcn.0046b7ce
lea ebx, [esp + 0x30]
mov edx, 0x5486bc
mov ecx, ebx
call fcn.00489e9d
mov edi, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x5486d8
mov ecx, edi
call fcn.00489ece
inc dword [esi]
cmp byte [esp + 4], 0
je 0x480d47
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x74]
sub edx, 1
jb 0x47fb93
cmp byte [edi + 0x118], 0
mov dword [esp + 4], edi
jne 0x47fdd6
mov eax, dword [edi + 0x10]
lea ecx, [eax + 1]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx + 0x70]
test esi, esi
je 0x480d73
mov dword [esp + 8], edx
xor edx, edx
div esi
test edx, edx
je 0x47facf
mov ecx, edi
call fcn.004dbb68
mov edi, eax
test eax, eax
jne 0x47faf0
mov ecx, dword [esp + 0x38]
add ecx, 8
call fcn.004ddb26
jmp 0x47fae6
add ecx, 8
call fcn.004ddb26
mov edi, eax
test eax, eax
jne 0x47faf0
mov ecx, dword [esp + 4]
call fcn.004dbb68
mov edi, eax
test eax, eax
je 0x47fbb0
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x238], eax
xor ecx, dword [edx + 0x1c]
xor eax, dword [edx + 0x18]
or eax, ecx
jne 0x480e20
mov ecx, ebx
mov edx, 0x5486ac
call fcn.00489e9d
mov ecx, eax
mov esi, eax
mov ebx, edx
call fcn.00489e03
mov eax, dword [esp + 4]
xor ecx, ecx
mov dword [esi], eax
inc dword [ebx]
call fcn.004d890f
test eax, eax
je 0x47fb4e
mov bl, byte [eax + 0x3c]
mov bh, byte [eax + 0x3d]
mov word [eax + 0x3c], 0x8001
jmp 0x47fb50
mov bl, 2
mov eax, dword [edi + 8]
push edi
call dword [eax + 0xc]
add esp, 4
movzx ecx, bl
movzx edx, bh
call fcn.0046b7ce
lea ebx, [esp + 0x30]
mov edx, 0x5486bc
mov ecx, ebx
call fcn.00489e9d
mov edi, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x5486d8
mov ecx, edi
call fcn.00489ece
inc dword [esi]
mov edx, dword [esp + 8]
jmp 0x47fa76
mov eax, dword [esp + 0x38]
mov ecx, ebx
mov edx, edi
add eax, 8
push eax
call fcn.004dda46
pop ecx
mov edi, eax
mov eax, dword [esp + 0x38]
jmp 0x47f9db
xor ecx, ecx
call fcn.004d890f
test eax, eax
je 0x47fbd9
add eax, 0x10
mov edx, 0x548418
mov ecx, eax
call fcn.004d9052
cmp dword [eax + 4], 0
je 0x47fbdd
cmp dword [eax + 8], 0
setne al
jmp 0x47fbdf
mov al, 3
jmp 0x47fbe1
mov al, 2
inc dword [edx]
movzx esi, al
mov ecx, esi
call fcn.004d94eb
mov ecx, esi
mov edx, 0x54866c
call fcn.004d91f7
mov ebx, dword [esp + 0x38]
test al, al
je 0x47fc0f
mov edx, dword [esp + 4]
add ebx, 8
lea ecx, [esp + 0x30]
push ebx
mov ebx, ecx
jmp 0x47fb9f
mov edi, dword [esp + 4]
lea eax, [edi + 0x14]
push 0x104
push eax
lea esi, [esp + 0x138]
push esi
call fcn.004fea40
add esp, 0xc
mov dword [edi + 0x14], 2
lea ecx, [esp + 0x238]
mov edx, esi
push 0x54868c
call fcn.004dda1d
pop eax
cmp dword [ebx + 0x60], 0
je 0x47fca5
lea ecx, [esp + 0x30]
mov edx, 0x5486ac
call fcn.004d9052
mov ecx, eax
mov esi, eax
mov dword [esp + 8], edx
call fcn.004dc576
mov eax, dword [esp + 8]
mov dword [esi], edi
inc dword [eax]
mov ecx, dword [ebx + 0x60]
mov edx, dword [ebx + 0x64]
call fcn.0049fcd6
push eax
call dword [edx + 0x14]
add esp, 4
lea ecx, [esp + 0x30]
mov edx, 0x5486bc
call fcn.004d9052
mov edi, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x5486d8
mov ecx, edi
call fcn.00489ece
inc dword [esi]
cmp dword [edi + 0xc], 0
je 0x47fcb8
lea eax, [esp + 0x238]
mov dword [esp + 4], edi
jmp 0x47fd1b
lea ecx, [esp + 0x30]
mov edx, 0x5486ac
call fcn.004d9052
mov ecx, eax
mov esi, eax
mov dword [esp + 4], edx
call fcn.004dc576
mov eax, dword [esp + 4]
mov dword [esi], edi
lea edi, [esp + 0x238]
lea edx, [ebx + 0x80]
mov ecx, edi
inc dword [eax]
call fcn.004d97e3
call fcn.004dd9dc
lea ecx, [esp + 0x30]
mov edx, 0x5486bc
call fcn.004d9052
mov ecx, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x5486d8
mov dword [esp + 4], ecx
call fcn.00489ece
inc dword [esi]
mov eax, edi
cmp dword [ebx + 0x68], 0
je 0x47fd82
lea ecx, [esp + 0x30]
mov edx, 0x5486ac
call fcn.004d9052
mov ecx, eax
mov esi, eax
mov edi, edx
call fcn.004dc576
mov eax, dword [esp + 4]
mov dword [esi], eax
inc dword [edi]
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x6c]
lea ebx, [esp + 0x30]
call fcn.0049fcd6
push eax
call dword [edx + 0x14]
add esp, 4
mov ecx, ebx
mov edx, 0x5486bc
call fcn.004d9052
mov edi, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x5486d8
mov ecx, edi
call fcn.00489ece
inc dword [esi]
lea eax, [esp + 0x238]
jmp 0x47fd8a
mov edi, dword [esp + 4]
lea ebx, [esp + 0x30]
mov ecx, 0x104
push ecx
push eax
lea eax, [esp + 0x138]
push eax
call fcn.004fea40
add esp, 0xc
lea esi, [edi + 0x14]
mov ecx, esi
call fcn.004dc59e
mov eax, 0x104
push eax
lea eax, [esp + 0x134]
push eax
push esi
call fcn.004fea40
add esp, 0xc
jmp 0x47fba7
test eax, eax
je 0x47fe1f
lea ecx, [esp + 0x6c]
call fcn.00489de8
jmp 0x47fe1f
mov al, 1
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xc]
mov edx, 0x548738
call fcn.004d92ae
lea esi, [esp + 0x30]
mov edx, 0x548718
mov ecx, esi
call fcn.00489e9d
mov ecx, eax
mov edi, eax
mov ebx, edx
call fcn.00489e03
mov eax, dword [esp + 4]
mov ecx, esi
mov dword [edi], eax
inc dword [ebx]
call fcn.00489de8
cmp byte [esp + 8], 0
jne 0x480f28
lea ecx, [esp + 0xc0]
call fcn.00481082
lea ecx, [esp + 0x340]
call fcn.00481096
lea ecx, [esp + 0xb0]
call fcn.00481067
push 0xb
pop ecx
lea eax, [esp + 0x340]
lea esi, [esp + 0x80]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp dword [eax + 0x10], 0
je 0x47fe94
cmp dword [esp + 0x348], 0
je 0x480ec1
mov esi, dword [esp + 0x34c]
lea ecx, [esi + 0x38]
call fcn.004db079
cmp byte [eax + 0x10], 0
mov ecx, eax
movzx edx, dl
je 0x47ff21
call fcn.0043bbaa
jmp 0x480124
lea esi, [esp + 0x348]
lea ecx, [esp + 0xc0]
mov edx, dword [esi]
push dword [esi + 4]
call fcn.004db39b
pop eax
mov ecx, esi
call fcn.004ddeaa
xor edi, edi
xchg dword [esi + 0xc], edi
test edi, edi
je 0x47ff53
mov ecx, dword [eax]
lock inc dword [ecx]
jle 0x480e90
lea ebx, [esp + 0x238]
lea edx, [esp + 0x354]
mov esi, eax
and dword [ebx], 0
mov dword [ebx + 4], edi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov ecx, ebx
mov edx, 0x5486f8
call fcn.004d9052
mov ecx, dword [eax]
and dword [eax], 0
mov edi, edx
mov edx, 0x548708
mov dword [esp + 8], ecx
call fcn.00489ece
inc dword [edi]
push 0
call fcn.004d7b6d
pop ecx
test eax, eax
je 0x47ff78
mov ecx, dword [eax]
mov dword [eax], ebx
mov dword [esp + 0x20], ecx
jmp 0x47ff80
mov byte [ecx + 0x10], 1
call fcn.0043bbaa
mov ebx, dword [esi + 0x54]
mov edi, dword [esi + 0x50]
add esi, 0xc0
shl ebx, 3
test ebx, ebx
je 0x480124
mov ecx, dword [edi + 4]
mov edx, esi
add edi, 8
call fcn.004d9380
add ebx, 0xfffffff8
jmp 0x47ff39
call fcn.0042109a
test al, al
jne 0x48010e
lea ecx, [esp + 0x130]
mov edx, 0x54861c
mov dword [ecx + 8], 0x5485a8
jmp 0x480e04
xor ecx, ecx
inc ecx
call fcn.004d9083
mov eax, dword [esi]
lea edi, [eax + 0x20]
mov dword [esp + 0xc], eax
mov ecx, edi
call fcn.0044606e
lea ecx, [eax + 8]
mov esi, eax
mov byte [esp + 4], dl
mov byte [eax + 0x10], 1
call fcn.004dc3e9
movzx edx, byte [esp + 4]
mov ecx, esi
mov ebx, eax
call fcn.0043bbaa
test ebx, ebx
mov esi, edi
je 0x47ffe9
mov eax, dword [ebx + 8]
push ebx
call dword [eax + 0x24]
add esp, 4
mov ecx, edi
call fcn.0044606e
lea ecx, [eax + 8]
mov edi, eax
mov byte [esp + 4], dl
call fcn.004dc3e9
movzx edx, byte [esp + 4]
mov ecx, edi
mov ebx, eax
mov edi, esi
call fcn.0043bbaa
test ebx, ebx
jne 0x47ffb6
mov ebx, dword [esp + 8]
mov ecx, ebx
call fcn.004dbb68
test eax, eax
je 0x480001
mov ecx, eax
call fcn.0044644d
jmp 0x47ffed
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0x38]
call fcn.004db079
mov ecx, dword [eax + 8]
mov edi, dword [eax + 0xc]
movzx edx, dl
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x14]
mov dword [esp + 4], ecx
mov ecx, dword [eax + 0x10]
and dword [eax + 0xc], 0
mov dword [esp + 0x14], ecx
mov ecx, eax
call fcn.0043bbaa
test edi, edi
je 0x480079
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 4]
lea ebx, [esp + 0x130]
mov dword [ebx], eax
mov dword [ebx + 4], edi
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], ecx
mov ecx, ebx
call fcn.004dbb68
test eax, eax
je 0x480069
mov ecx, eax
call fcn.0044644d
jmp 0x480055
lea ecx, [esp + 0x130]
call fcn.004d876c
mov ebx, dword [esp + 8]
mov ecx, esi
call fcn.0044606e
mov edi, dword [eax + 8]
test edi, edi
jne 0x480091
cmp dword [eax + 0xc], 0
jne 0x480ed9
movzx edx, dl
mov ecx, eax
call fcn.0043bbaa
test edi, edi
jne 0x480eeb
cmp dword [ebx + 0x14], 2
mov edi, dword [esp + 0x20]
je 0x4800bc
mov edx, dword [esp + 0xc]
lea ecx, [ebx + 0x14]
sub edx, 0xffffff80
call fcn.004d90a8
mov ecx, edi
mov edx, 0x548738
call fcn.004d92ae
lea ecx, [esp + 0x238]
mov edx, 0x548718
call fcn.004d9052
mov ecx, eax
mov esi, ebx
mov ebx, eax
mov edi, edx
call fcn.004dc576
mov dword [ebx], esi
inc dword [edi]
lea ecx, [esp + 0x238]
call fcn.004ddbfc
lea ecx, [esp + 0x240]
call fcn.004d7e00
lea ecx, [esp + 0x23c]
call fcn.004dc576
cmp dword [esp + 0xc8], 3
je 0x480124
lea ecx, [esp + 0xc0]
call fcn.004d8fcf
cmp dword [esp + 0x350], 0
jne 0x480145
xor eax, eax
lea ecx, [esp + 0x130]
xchg dword [esp + 0x354], eax
mov dword [ecx], eax
call fcn.004dc576
lea esi, [esp + 0x348]
mov ecx, esi
call fcn.004422b2
mov ecx, dword [esi - 4]
add ecx, 0x18
call fcn.004db079
cmp byte [eax + 0x50], 0
mov esi, eax
mov ebx, edx
je 0x480177
movzx edx, bl
mov ecx, esi
call fcn.0043bbaa
jmp 0x480cdd
mov ecx, esi
mov byte [esi + 0x50], 1
add ecx, 0x3c
call fcn.004d8056
and dword [esi + 0x3c], 0
mov eax, 0x90
add eax, dword [esp + 0x344]
push eax
call dword [sym.imp.kernel32.dll_WakeAllConditionVariable]
mov eax, dword [esi + 0x48]
lea edi, [esp + 0x508]
mov edx, fcn.004d0860
mov ecx, edi
mov dword [esp + 0x58], eax
movsd xmm0, qword [esi + 0x40]
movsd qword [esp + 0x50], xmm0
and dword [esi + 0x44], 0
call fcn.004d8c92
movsd xmm2, qword [esi + 0x20]
movq xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
xor edx, edx
mov ecx, esi
movsd qword [esp + 0xd8], xmm2
movsd xmm2, qword [esi + 0x18]
movsd qword [esp + 0xd0], xmm2
movsd xmm2, qword [esi + 8]
movsd xmm3, qword [esi + 0x10]
movsd qword [esp + 0xc8], xmm3
movsd qword [esp + 0xc0], xmm2
movq qword [esi + 8], xmm0
movsd qword [esi + 0x10], xmm1
and dword [esi + 0x18], 0
and dword [esi + 0x1c], 0
and dword [esi + 0x20], 0
test bl, bl
mov dword [esi + 0x24], 0x547e30
setne dl
call fcn.004db0cc
xor ecx, ecx
call fcn.004d890f
test eax, eax
je 0x480245
cmp byte [eax + 0x3e], 2
sete al
jmp 0x480247
mov al, 2
cmp al, 2
je 0x480276
and al, 1
jne 0x480276
call fcn.0042109a
test al, al
je 0x480f40
lea ecx, [esp + 0xd0]
call fcn.004d806b
lea ecx, [esp + 0x50]
call fcn.004d8060
jmp 0x480cdd
call fcn.004dd8b5
test edx, edx
je 0x48041e
lea ecx, [esp + 0x238]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor ecx, ecx
call fcn.004d890f
test eax, eax
je 0x4802a8
mov bl, byte [eax + 0x3c]
mov bh, byte [eax + 0x3d]
mov word [eax + 0x3c], 0x8001
jmp 0x4802aa
mov bl, 2
mov esi, dword [esp + 0x340]
test esi, esi
je 0x480e69
lea ecx, [esp + 0x238]
call fcn.004dbcae
movzx edx, bh
test al, 1
movzx ecx, bl
mov dword [esp + 4], edx
jne 0x480378
mov dword [esp + 8], ecx
mov ecx, eax
mov ebx, eax
mov eax, dword [esi + 0x18]
shr ecx, 0x10
movzx edi, cl
test al, 2
jne 0x4803d8
test al, 4
jne 0x4803c8
test al, 1
je 0x48033e
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
push dword [esp + 0x23c]
push dword [esp + 0x23c]
call fcn.004dbcfb
pop ecx
pop edx
test al, al
jne 0x48036a
mov eax, dword [esi + 0x18]
mov ecx, eax
and ecx, 0xfffffffe
lock cmpxchg dword [esi + 0x18], ecx
jne 0x48031e
test al, 2
jne 0x4803d3
mov eax, dword [esi + 0x14]
push dword [esi + 0x10]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x23c]
push dword [esp + 0x238]
call dword [eax]
add esp, 4
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov eax, dword [esi + 0x18]
mov ecx, eax
or ecx, 1
lock cmpxchg dword [esi + 0x18], ecx
jne 0x48035a
test al, 2
jne 0x4803d8
movzx ecx, bh
mov edx, edi
call fcn.004dbcca
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
call fcn.0046b7ce
xor ecx, ecx
call fcn.004d890f
test eax, eax
je 0x4803b4
add eax, 0x10
mov edx, 0x548418
mov ecx, eax
call fcn.004d9052
mov edi, dword [eax + 4]
mov esi, edx
test edi, edi
je 0x4803ab
mov ecx, eax
call fcn.004d92cb
test edi, edi
setne al
inc dword [esi]
jmp 0x4803b6
mov al, 2
movzx ecx, al
call fcn.004d931e
call fcn.004dd9a8
jmp 0x48028f
xor ecx, ecx
mov edx, edi
call fcn.004dbcca
jmp 0x4803fd
lock or dword [esi + 0x18], 1
mov bl, byte [esi + 0x1c]
xor ecx, ecx
mov edx, edi
mov byte [esi + 0x1c], 0
call fcn.004dbcca
test bl, bl
je 0x4803fd
lea edi, [esp + 0x340]
mov ecx, edi
call fcn.004d7d91
and dword [edi], 0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
call fcn.0046b7ce
mov eax, dword [esp + 0x23c]
push dword [esp + 0x238]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x54]
mov edx, 0
mov dword [esp + 4], 0
test eax, eax
je 0x48045a
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
lea esi, [esp + 0x130]
mov dword [esi], ecx
mov ecx, esi
mov dword [esi + 4], eax
mov dword [esi + 8], edx
call fcn.004db114
mov dword [esi + 4], eax
mov dword [esi + 8], edx
xor edx, edx
inc edx
lea ecx, [esp + 0x130]
mov dword [ecx], edx
call fcn.0048a0ab
mov edi, dword [esp + 0xdc]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0xd8]
movdqa xmm0, xmmword [edi]
lea eax, [edi + edx + 1]
test edx, edx
mov dword [esp + 8], eax
lea eax, [edi + 0x10]
pmovmskb ebx, xmm0
not ebx
je 0x4804d0
mov dword [esp + 0xc], esi
lea esi, [edx + 1]
xor ecx, ecx
cmp esi, 0xfffffff
jbe 0x4804a9
jmp 0x4804b6
shl esi, 4
add edx, 0x11
add edx, esi
jb 0x4804b6
push 0x10
pop ecx
mov dword [esp + 4], ecx
mov ecx, edi
sub ecx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x250], edx
mov ecx, dword [esp + 4]
lea edx, [esp + 0x238]
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov dword [edx + 8], edi
mov word [edx + 0xc], bx
mov dword [edx + 0x10], esi
lea esi, [esp + 0x130]
mov ecx, esi
call fcn.004d7d0e
cmp dword [esi + 8], 0
je 0x4806e9
mov ecx, dword [esp + 0x248]
xor eax, eax
dec eax
inc ecx
cmove ecx, eax
cmp ecx, 5
push 4
pop eax
cmovb ecx, eax
xor ebx, ebx
cmp ecx, 0x8000000
setb al
jae 0x480efd
mov esi, ecx
shl esi, 4
js 0x480efd
mov bl, al
mov dword [esp + 0x2c], ecx
mov ecx, esi
shl ebx, 2
mov edx, ebx
call fcn.0049cb57
test eax, eax
je 0x480f58
lea esi, [esp + 0x130]
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x30]
mov dword [esp + 0x40], 0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
xor eax, eax
movsd xmm1, qword [esp + 0x248]
movq xmm0, qword [esp + 0x250]
movsd xmm2, qword [esp + 0x238]
inc eax
mov dword [esp + 0x10], eax
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [esp + 0x240]
movq qword [esi + 0x18], xmm0
movsd qword [esi], xmm2
movsd qword [esi + 8], xmm1
mov ecx, edi
mov edx, esi
call fcn.004d7d0e
cmp dword [esp + 0x38], 0
je 0x4806b4
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x10], eax
jne 0x480682
mov ecx, dword [esp + 0x140]
mov edx, 0xffffffff
inc ecx
cmove ecx, edx
xor edx, edx
add ecx, eax
jb 0x48067d
add eax, eax
mov esi, edi
cmp eax, ecx
cmova ecx, eax
cmp ecx, 5
mov ebx, ecx
jae 0x48060c
push 4
pop ebx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
xor eax, eax
cmp ebx, 0x8000000
setb al
shl eax, 2
shl ecx, 4
mov dword [esp + 0x6c], edx
mov edx, ebx
mov dword [esp + 0x70], ecx
shl edx, 4
push 4
pop ecx
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0xb0]
lea edi, [esp + 0x6c]
push edi
push eax
call fcn.004200e8
pop eax
pop ecx
cmp dword [esp + 0xb0], 0
mov ecx, dword [esp + 0xb4]
je 0x480667
mov edx, dword [esp + 0xb8]
jmp 0x480674
mov edx, 0x80000001
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], ebx
mov edi, esi
lea esi, [esp + 0x130]
call fcn.0040321d
mov edx, dword [esp + 0x10]
movq xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
dec dword [esp + 0x40]
mov eax, edx
inc edx
shl eax, 4
mov dword [esp + 0x10], edx
movsd qword [ecx + eax + 8], xmm1
movq qword [ecx + eax], xmm0
jmp 0x4805bd
lea ecx, [esp + 0x130]
call fcn.004d87e4
mov esi, dword [esp + 0x10]
cmp esi, 0x15
jae 0x480707
cmp esi, 2
mov ebx, esi
mov esi, dword [esp + 0x1c]
jb 0x480c3c
mov ecx, esi
mov edx, ebx
push 1
call fcn.004db9c9
pop eax
jmp 0x480c3c
lea ecx, [esp + 0x238]
call fcn.004d87e4
push 4
pop esi
xor ebx, ebx
mov dword [esp + 0x2c], 0
jmp 0x480c3c
lea ecx, [esi*8]
and ecx, 0x7ffffff0
push 4
pop edx
call fcn.00414760
mov edi, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 4], eax
je 0x480f63
push 4
pop edx
mov ecx, 0x80
call fcn.00414760
test eax, eax
je 0x480f75
mov ebx, eax
lea eax, [edi + 0x20]
mov dword [esp + 0x1c], edi
xor edi, edi
mov dword [esp + 0x44], eax
push 0x10
pop eax
mov dword [esp + 0x48], eax
push 4
pop edx
xor ecx, ecx
mov dword [esp + 0x10], esi
sub esi, ecx
jbe 0x480c1d
cmp esi, 2
mov dword [esp + 8], ecx
mov dword [esp + 0x18], edi
jae 0x48077e
mov eax, dword [esp + 0x10]
jmp 0x4808fa
mov eax, dword [esp + 0x1c]
mov edx, ecx
mov dword [esp + 0x24], ebx
shl edx, 4
add eax, edx
mov edi, dword [eax]
mov ebx, dword [eax + 0x10]
cmp ebx, edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ebx
jae 0x4807c4
mov eax, dword [esp + 0x40]
add edx, dword [esp + 0x44]
lea edi, [eax + ecx]
mov eax, ebx
push 2
pop ebx
lea ecx, [edi + ebx]
cmp ecx, 1
je 0x4807ec
mov ecx, dword [edx]
cmp ecx, eax
jae 0x4807ea
inc ebx
add edx, 0x10
mov eax, ecx
jmp 0x4807ae
mov eax, dword [esp + 0x40]
add edx, dword [esp + 0x44]
lea edi, [eax + ecx]
mov ecx, ebx
push 2
pop ebx
lea eax, [edi + ebx]
cmp eax, 1
je 0x4807ec
mov eax, dword [edx]
cmp eax, ecx
jb 0x4807ea
inc ebx
add edx, 0x10
mov ecx, eax
jmp 0x4807d4
mov esi, ebx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x1c]
cmp edx, dword [esp + 0xc]
lea eax, [esi + ecx]
jae 0x4808d6
mov edx, eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x28], eax
push 0x547b38
push dword [esp + 0x14]
push edi
call fcn.004dbaa8
add esp, 0xc
mov ebx, edx
shl edx, 4
xor ecx, ecx
shr ebx, 1
add edx, eax
mov esi, ebx
shl esi, 4
sub edx, esi
mov dword [esp + 0x20], edx
mov edx, ebx
push 0x547aa8
push ebx
push eax
call fcn.004dbaa8
add esp, 0xc
mov dword [esp + 0x14], edx
mov edi, eax
xor ecx, ecx
mov edx, ebx
push 0x547ab8
push ebx
push dword [esp + 0x28]
call fcn.004dbaa8
add esp, 0xc
mov ecx, dword [esp + 0x14]
dec ebx
lea eax, [eax + esi - 0x10]
cmp ebx, 0xffffffff
je 0x4808e3
sub ecx, 1
jb 0x480d58
mov esi, ebx
cmp esi, edx
jae 0x480d65
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
dec ebx
movsd qword [esp + 0x138], xmm1
movsd qword [esp + 0x130], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
add edi, 0x10
movq xmm0, qword [esp + 0x130]
movsd xmm1, qword [esp + 0x138]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
add eax, 0xfffffff0
jmp 0x48086d
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
push 4
pop edx
jmp 0x4808fa
mov edi, dword [esp + 0x18]
push 4
pop edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x24]
cmp eax, ecx
jb 0x480e7e
cmp eax, dword [esp + 0x10]
ja 0x480e7e
jae 0x48095f
cmp esi, 0xa
jae 0x48095f
mov eax, dword [esp + 0x10]
mov edx, esi
lea esi, [ecx + 0xa]
mov ecx, 1
cmp esi, eax
cmovae esi, eax
cmp edx, 2
cmovb edx, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edx, esi
push 0x547c04
push eax
push dword [esp + 0x24]
call fcn.004dbaa8
add esp, 0xc
mov ecx, eax
push dword [esp + 0xc]
call fcn.004db9c9
mov ecx, dword [esp + 0xc]
mov eax, esi
push 4
pop edx
add esp, 4
mov esi, dword [esp + 0x48]
mov dword [esp + 0x28], eax
cmp edi, esi
jne 0x4809b4
mov ecx, esi
shl ecx, 4
call fcn.00414760
test eax, eax
je 0x480e94
mov edi, eax
lea eax, [esi + esi]
shl esi, 3
mov dword [esp + 0xc], eax
push esi
push ebx
push edi
call fcn.004fea40
add esp, 0xc
mov ecx, ebx
push 4
pop edx
call fcn.004147c0
mov eax, dword [esp + 0xc]
mov ebx, edi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
sub eax, ecx
mov dword [esp + 0x24], ebx
mov dword [ebx + edi*8], eax
mov dword [ebx + edi*8 + 4], ecx
inc edi
cmp edi, 2
jb 0x480c01
mov eax, dword [ebx + edi*8 - 8]
mov ecx, dword [ebx + edi*8 - 4]
add ecx, eax
cmp esi, ecx
je 0x480a20
mov edx, dword [ebx + edi*8 - 0x10]
cmp edx, eax
jbe 0x480a20
cmp edi, 3
jb 0x480c01
mov ecx, ebx
lea esi, [edx + eax]
lea ebx, [edi - 3]
mov ecx, dword [ecx + edi*8 - 0x18]
cmp ecx, esi
jbe 0x480a30
mov esi, dword [esp + 0x10]
cmp edi, 4
jb 0x480c0d
mov esi, dword [esp + 0x24]
add edx, ecx
cmp dword [esi + edi*8 - 0x20], edx
mov esi, dword [esp + 0x10]
jbe 0x480a30
jmp 0x480c0d
cmp edi, 3
jb 0x480a34
mov ecx, dword [esp + 0x24]
lea ebx, [edi - 3]
mov ecx, dword [ecx + edi*8 - 0x18]
cmp ecx, eax
jb 0x480a37
lea ebx, [edi - 2]
mov esi, dword [esp + 0x24]
mov ecx, edi
mov edx, esi
push 0x547b48
push ebx
call fcn.00401101
pop ecx
pop edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x18], edi
mov edx, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
lea eax, [ebx + 1]
mov ecx, edi
push 0x547b58
mov dword [esp + 0x68], eax
push eax
call fcn.00401101
pop ecx
pop edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x60], ecx
add edx, ecx
mov ecx, dword [esp + 0x14]
push 0x547b68
push dword [esp + 0x14]
push dword [esp + 0x24]
call fcn.004dbaa8
add esp, 0xc
mov esi, dword [esp + 0x20]
mov ebx, edx
shl ebx, 4
mov ecx, esi
sub edx, esi
shl ecx, 4
cmp edx, esi
mov dword [esp + 8], edx
lea edi, [eax + ecx]
jae 0x480b26
mov esi, dword [esp + 8]
shl esi, 4
push esi
push edi
push dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
call fcn.004fea40
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [esp + 8]
add esi, dword [esp + 4]
lea eax, [edx + eax - 0x10]
cmp edi, edx
jbe 0x480b93
cmp esi, dword [esp + 4]
jbe 0x480b93
mov ecx, dword [esi - 0x10]
cmp ecx, dword [edi - 0x10]
jb 0x480b0a
add esi, 0xfffffff0
mov ecx, esi
jmp 0x480b0f
add edi, 0xfffffff0
mov ecx, edi
movq xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
add eax, 0xfffffff0
jmp 0x480ae9
add ebx, eax
mov dword [esp + 8], ebx
push ecx
push eax
mov ebx, dword [esp + 0xc]
push ebx
mov dword [esp + 0x18], ecx
mov esi, eax
call fcn.004fea40
mov ecx, esi
mov esi, dword [esp + 0x18]
add esp, 0xc
add esi, ebx
mov eax, ebx
mov dword [esp + 0xc], esi
cmp eax, esi
jae 0x480b9b
cmp edi, dword [esp + 8]
jae 0x480b9b
mov edx, dword [edi]
mov esi, ecx
xor ecx, ecx
xor ebx, ebx
cmp edx, dword [eax]
mov edx, eax
cmovb edx, edi
setae cl
setb bl
movq xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
shl ecx, 4
shl ebx, 4
add eax, ecx
lea ecx, [esi + 0x10]
add edi, ebx
movsd qword [esi + 8], xmm1
movq qword [esi], xmm0
mov esi, dword [esp + 0xc]
jmp 0x480b4f
mov eax, dword [esp + 4]
mov ecx, edi
jmp 0x480b9f
mov ebx, dword [esp + 0x24]
sub esi, eax
push esi
push eax
push ecx
call fcn.004fea40
add esp, 0xc
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x68]
cmp edx, dword [esp + 0x64]
jbe 0x480de3
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
add eax, dword [esp + 0x20]
cmp edx, edi
mov dword [ebx + edi*8 + 8], eax
mov dword [ebx + edi*8 + 0xc], ecx
jbe 0x480df1
lea eax, [ebx + edi*8]
lea ecx, [ebx + edi*8 + 8]
not edi
add edi, edx
shl edi, 3
push edi
push ecx
push eax
call fcn.004fea40
mov edi, dword [esp + 0x24]
add esp, 0xc
dec edi
jmp 0x4809c6
mov ecx, dword [esp + 0x28]
push 4
pop edx
jmp 0x480760
mov ecx, dword [esp + 0x28]
push 4
pop edx
mov ebx, dword [esp + 0x24]
jmp 0x480760
push 4
pop edi
mov ecx, ebx
mov edx, edi
call fcn.004147c0
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x1c]
mov edx, edi
call fcn.004147c0
mov ebx, dword [esp + 0x10]
shl ebx, 4
mov dword [esp + 0x1c], esi
lea edi, [esi + ebx]
test ebx, ebx
mov dword [esp + 0x10], ebx
je 0x480cad
mov eax, dword [esi + 8]
test eax, eax
je 0x480caa
lea ecx, [esi + 0x10]
mov edx, dword [esi + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x130], ecx
lea ecx, [esp + 0x130]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], edx
call fcn.004db114
lea ecx, [esp + 0x238]
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], edx
call fcn.004463f7
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 4]
add ebx, 0xfffffff0
jmp 0x480c46
add esi, 0x10
sub edi, esi
add esi, 4
shr edi, 4
sub edi, 1
jb 0x480cc6
mov ecx, esi
call fcn.0048a333
add esi, 0x10
jmp 0x480cb5
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x480cdd
mov ecx, dword [esp + 0x1c]
shl edx, 4
push 4
call fcn.00403400
pop eax
mov eax, dword [esp + 0x344]
lock dec dword [eax]
jne 0x480cf5
mov ecx, dword [esp + 0x344]
call fcn.004d7f9b
mov ecx, dword [esp + 0x340]
test ecx, ecx
je 0x480d3f
mov eax, dword [ecx + 0x18]
mov edx, eax
or edx, 4
lock cmpxchg dword [ecx + 0x18], edx
jne 0x480d03
and eax, 0xa
cmp eax, 8
jne 0x480d23
mov eax, dword [ecx + 0xc]
push dword [ecx + 8]
call dword [eax + 8]
add esp, 4
mov eax, dword [esp + 0x340]
test eax, eax
je 0x480d3f
lock dec dword [eax]
jne 0x480d3f
mov ecx, dword [esp + 0x340]
call fcn.004d7da4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], edi
mov dword [esp + 8], 0
jmp 0x47fddc
mov ecx, dword [esp + 0x14]
mov edx, ecx
push 0x547ac8
jmp 0x480d6c
mov ecx, ebx
push 0x547ad8
call fcn.0050aeb0
jmp 0x480d85
push 0x39
pop edx
mov ecx, 0x53bcc0
push 0x53bcac
call fcn.0050af40
pop eax
ud2
push 0x28
pop edx
mov ecx, 0x56e192
push 0x549c90
jmp 0x480d80
and dword [esp + 0x240], 0
lea edx, [esp + 0x50]
xor ecx, ecx
push 0x549ca0
lea eax, [esp + 0x23c]
push eax
push 0x56e780
jmp 0x480dd9
and dword [esp + 0x240], 0
lea edx, [esp + 0x50]
xor ecx, ecx
push 0x549cb4
lea eax, [esp + 0x23c]
push eax
push 0x549cb0
call fcn.0050e0bb
add esp, 0xc
ud2
lea ecx, [esp + 0x130]
mov edx, 0x547b78
jmp 0x480dfd
lea ecx, [esp + 0x130]
mov edx, 0x547bb8
mov dword [ecx + 8], str.Index_out_of_bounds
mov dword [ecx + 0xc], 1
and dword [ecx], 0
mov dword [ecx + 0x10], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
and dword [ecx + 0x14], 0
call fcn.0050ae80
ud2
and dword [esp + 0x138], 0
add edx, 0x18
lea ecx, [esp + 0x238]
push 0x549358
lea eax, [esp + 0x134]
push eax
call fcn.0050e108
pop eax
pop ecx
ud2
and dword [esp + 0x240], 0
lea eax, [esp + 0x238]
add ecx, 8
lea edx, [esp + 0x50]
push eax
call fcn.0050e1a8
jmp 0x480d85
lea ecx, [esp + 0x130]
mov edx, 0x549d3c
mov dword [ecx + 8], 0x549cdc
jmp 0x480e04
push 0x2c
pop edx
mov ecx, str.assertion_failed:_end___start__end___len
push 0x547bf4
jmp 0x480d80
ud2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x547ba8
jmp 0x480d80
lea ecx, [esp + 0x518]
call fcn.00481096
push 0x15
pop edx
mov ecx, str.failed_to_park_thread
push 0x53bc24
jmp 0x480f11
lea ecx, [esp + 0x130]
mov edx, 0x548a40
mov dword [ecx + 8], 0x5489cc
jmp 0x480e04
push 0x25
pop edx
mov ecx, str.assertion_failed:_self.tail.is_none__
push 0x548024
jmp 0x480d80
push 0x30
pop edx
mov ecx, str.assertion_failed:_handle.shared.owned.is_empty__
push 0x54865c
jmp 0x480d80
call fcn.004152f0
ud2
push 0x46
pop edx
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_90c541806f23a127002de5b4038be731ba1458calibrary_std_src_threadlocal.rs
push 0x547984
push 0x53a5f4
lea eax, [esp + 0x240]
push eax
call fcn.0050b0f0
jmp 0x480dde
lea ecx, [esp + 0x130]
mov edx, 0x53d164
mov dword [ecx + 8], 0x53bca4
jmp 0x480e04
lea ecx, [esp + 0x130]
mov edx, 0x549970
mov dword [ecx + 8], 0x549968
jmp 0x480e04
mov ecx, esi
mov edx, ebx
call fcn.0050aba0
ud2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x547b88
jmp 0x480d80
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x547b98
jmp 0x480d80