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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x170
mov edi, dword [edx + 0x1c]
and dword [edx + 0x1c], 0
lea ebx, [edx + 0x1c]
mov dword [esp + 0x14], ecx
mov dword [esp + 4], edx
test edi, edi
je 0x47fc92
lea esi, [esp + 0xc8]
mov dword [esp + 0x124], edi
lea edx, [edi + 8]
mov ecx, esi
push dword [ebp + 8]
call fcn.00481e54
pop eax
movzx eax, byte [esi + 0xc]
cmp eax, 2
je 0x47fb7d
cmp eax, 3
jne 0x47fb9c
mov ecx, ebx
call fcn.00481dc3
mov dword [ebx], edi
jmp 0x48035e
call fcn.004333a9
mov esi, eax
mov ecx, eax
mov edx, str.request_has_been_canceled
push 0x19
call fcn.00433222
pop ecx
mov dword [esp + 0x20], esi
jmp 0x47fe42
mov eax, dword [esp + 0xe0]
movsd xmm0, qword [esp + 0xd8]
movsd xmm2, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
lea ecx, [esp + 0x78]
mov dword [ecx + 0x18], eax
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
call fcn.0044514f
test al, al
je 0x47fe0b
mov esi, dword [esp + 4]
mov eax, dword [esp + 0xe0]
movsd xmm0, qword [esp + 0xd8]
movsd xmm2, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
lea edi, [esp + 0xf0]
lea ecx, [esp + 0x20]
lea edx, [esi + 0x18]
mov dword [edi + 0x18], eax
movsd qword [edi + 0x10], xmm0
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm2
push edi
push esi
call fcn.00481f3c
pop eax
pop ecx
lea eax, [esp + 0x20]
lea ecx, [esp + 0x124]
movzx esi, byte [eax + 0x38]
call fcn.00481dcd
cmp esi, 4
je 0x48035e
mov eax, esi
cmp esi, 3
je 0x47fc92
cmp eax, 2
je 0x47fe4e
mov ebx, eax
lea eax, [esp + 0x24]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax - 4]
lea edi, [edx + 4]
mov dword [esp + 4], ecx
push 0xd
pop ecx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [eax + 0x35]
mov al, byte [eax + 0x37]
mov word [edx + 0x39], cx
mov ecx, dword [esp + 4]
mov byte [edx + 0x3b], al
mov dword [edx], ecx
mov byte [edx + 0x38], bl
jmp 0x480397
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x18]
lea eax, [ecx + 0x18]
test edx, edx
je 0x4801ba
lea esi, [esp + 0xf0]
add edx, 8
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebx
mov ecx, esi
call fcn.0043313a
mov ecx, esi
mov edx, 0x53c324
call fcn.0044853b
cmp dword [eax + 0x40], 0
mov byte [esp + 0xb], dl
mov dword [esp + 0x10], eax
je 0x47fe65
mov ecx, dword [eax + 0x68]
mov ebx, dword [esp + 4]
mov edx, dword [eax + 0x2c]
lea esi, [eax + 0x38]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 0x28]
push ebx
push dword [eax + 0x34]
push dword [eax + 0x30]
call fcn.00447794
add esp, 0xc
mov edi, edx
mov ecx, esi
mov edx, eax
push ebx
push edi
call fcn.00447d19
pop ecx
pop edx
mov esi, eax
mov eax, dword [esp + 0x10]
test esi, esi
je 0x47fe65
mov eax, esi
mov dword [esp + 0x18], esi
add eax, 0xfffffff4
mov dword [esp + 0x6c], eax
mov eax, dword [esi - 4]
test eax, eax
je 0x47fe61
dec eax
mov dword [esi - 4], eax
imul eax, eax, 0x30
mov ecx, dword [esi - 8]
mov edx, dword [ecx + eax + 8]
cmp edx, 0x3b9aca00
je 0x47fe61
lea esi, [ecx + eax]
mov ebx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0xc], edx
add esi, 0xc
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x80], edx
push 9
pop ecx
lea edi, [esp + 0x84]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x88]
call fcn.0044514f
test al, al
je 0x47fdf6
cmp dword [esp + 0x68], 0x3b9aca00
je 0x480016
call fcn.004d0af0
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x20]
mov edx, ebx
push dword [esp + 0xc]
push dword [esp + 0x20]
call fcn.004d0d10
add esp, 8
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov esi, edx
cmp eax, edi
sbb esi, ebx
jb 0x480016
xor eax, edi
xor edx, ebx
or edx, eax
jne 0x47fdf6
cmp ecx, dword [esp + 0x68]
jbe 0x480016
lea ecx, [esp + 0x88]
call fcn.00444f08
mov esi, dword [esp + 0x18]
jmp 0x47fd36
call fcn.004333a9
xor edx, edx
xor ecx, ecx
mov esi, eax
inc edx
call fcn.00423cc6
lea ecx, [esi + 0x10]
mov edi, eax
call fcn.0044318d
lea ecx, [esp + 0x78]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], 0x53a444
mov dword [esp + 0x20], esi
mov byte [esp + 0x58], 2
call fcn.00444f08
lea ecx, [esp + 0x124]
call fcn.00481dcd
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
mov byte [ecx + 0x38], 2
jmp 0x480397
mov eax, dword [esp + 0x10]
push 9
pop ecx
lea edi, [esp + 0xf0]
lea esi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], 0x3b9aca00
mov ebx, dword [esp + 4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
push ebx
push dword [eax + 0x34]
push dword [eax + 0x30]
mov edi, eax
call fcn.00447794
add esp, 0xc
add edi, 0x38
mov esi, edx
mov edx, eax
mov ecx, edi
push ebx
push esi
call fcn.00447d19
pop ecx
pop edx
test eax, eax
je 0x47fecc
mov ecx, edi
mov edx, eax
mov esi, eax
call fcn.00446dc7
add esi, 0xffffffdc
push 9
pop ecx
lea eax, [esp + 0x20]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp byte [eax], 3
jne 0x47fed3
and dword [esp + 0x7c], 0
jmp 0x47ff01
lea ecx, [esp + 0x20]
mov eax, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
mov dword [esp + 0x80], eax
movsd qword [esp + 0x78], xmm0
call fcn.00444ed8
cmp dword [esp + 0x7c], 0
je 0x47ff01
lea ecx, [esp + 0x78]
call fcn.004460cf
cmp dword [esp + 0xc], 0x3b9aca00
mov eax, dword [esp + 0x10]
jne 0x4802dc
mov eax, dword [esp + 0x60]
cmp dword [eax], 0
jne 0x4801a8
push 0x44
pop ecx
push 4
pop edx
call fcn.00423cc6
xor ecx, ecx
mov dword [esp + 0xc], eax
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 0x14], 2
mov byte [eax + 0x24], cl
and dword [eax + 0x2c], 0
mov byte [eax + 0x30], cl
and dword [eax + 0x38], 0
mov byte [eax + 0x3c], cl
mov byte [eax + 0x40], cl
lock inc dword [eax]
jle 0x4803b2
mov edx, dword [esp + 4]
lea ebx, [esp + 0x20]
mov ecx, ebx
call fcn.004451db
mov esi, dword [esp + 0x10]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
push ebx
push dword [esi + 0x54]
push dword [esi + 0x50]
call fcn.00447794
add esp, 0xc
lea ecx, [esp + 0xc8]
mov edi, edx
lea edx, [esi + 0x58]
mov dword [ecx], ebx
lea ebx, [esp + 0x78]
mov dword [esp + 4], edx
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov edx, dword [esi + 0x64]
mov ecx, dword [esi + 0x58]
push 0x482063
push ebx
push edi
mov dword [esp + 0x28], eax
push eax
call fcn.004478cd
add esp, 0x10
test eax, eax
je 0x480098
mov ebx, dword [esi + 0x64]
test ebx, ebx
je 0x480098
lea ecx, [esp + 0x20]
neg edx
imul eax, edx, 0x28
mov edx, dword [ecx]
movsd xmm0, qword [ecx + 0xc]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 4]
add ebx, eax
mov eax, dword [ecx + 0x14]
mov dword [ecx], edx
mov edx, dword [esp + 4]
mov dword [ecx + 8], esi
mov dword [ecx + 4], edi
movsd qword [ecx + 0xc], xmm0
movsd qword [esp + 0x78], xmm0
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov dword [esp + 0x80], eax
mov dword [ecx + 0x1c], edx
call fcn.0044778a
jmp 0x480138
lea ecx, [esp + 0x88]
lea esi, [esp + 0x20]
lea edx, [esp + 0xf0]
mov eax, dword [ecx + 0x18]
movsd xmm0, qword [ecx + 0x10]
movsd xmm2, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, esi
mov dword [edx + 0x18], eax
movsd qword [edx + 0x10], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
call fcn.00446153
cmp byte [esi + 0x28], 2
jne 0x4801c4
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x28]
mov dword [esp + 0xc0], eax
movsd qword [esp + 0xb8], xmm0
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0xa8], xmm2
jmp 0x480243
cmp dword [esi + 0x5c], 0
je 0x48039f
mov eax, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
movsd qword [esp + 0x78], xmm0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x80], eax
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x64]
push edi
push dword [esp + 0x20]
call fcn.0044775d
pop ecx
pop ecx
and dl, 1
neg eax
mov edi, dword [esp + 0x18]
movzx ecx, dl
mov edx, dword [esi + 0x64]
imul eax, eax, 0x28
sub dword [esi + 0x5c], ecx
mov ecx, dword [esp + 0x80]
mov dword [edx + eax - 0x20], ecx
mov ecx, dword [esp + 4]
movsd xmm0, qword [esp + 0x78]
movsd qword [edx + eax - 0x28], xmm0
mov dword [edx + eax - 0x1c], ebx
mov dword [edx + eax - 0x18], ecx
mov dword [edx + eax - 0x14], edi
and dword [edx + eax - 0x10], 0
mov dword [edx + eax - 0xc], 4
and dword [edx + eax - 8], 0
and dword [edx + eax - 4], 0
inc dword [esi + 0x60]
lea ebx, [edx + eax]
mov edi, dword [esp + 0xc]
mov ecx, dword [ebx - 0x10]
mov eax, dword [ebx - 4]
add edi, 8
cmp eax, ecx
jne 0x480157
lea ecx, [ebx - 0x10]
call fcn.0043cfa7
mov ecx, dword [ebx - 0x10]
mov eax, dword [ebx - 4]
mov edx, dword [ebx - 8]
xor esi, esi
add edx, eax
cmp edx, ecx
cmovae esi, ecx
mov ecx, dword [ebx - 0xc]
inc eax
sub edx, esi
mov esi, dword [esp + 0xc]
mov dword [ecx + edx*4], esi
mov dword [ebx - 4], eax
lea ebx, [esp + 0x20]
mov edx, edi
mov ecx, ebx
push dword [ebp + 8]
call fcn.00481e54
pop eax
mov al, byte [ebx + 0xc]
cmp al, 1
jbe 0x4803b6
mov esi, dword [esp + 0x60]
cmp al, 3
jne 0x4803bf
mov ecx, esi
call fcn.00481dc3
mov eax, dword [esp + 0xc]
mov dword [esi], eax
movzx edx, byte [esp + 0xb]
mov ecx, dword [esp + 0x10]
call fcn.004ddfbd
mov eax, dword [esp + 0x64]
mov byte [esp + 0x58], 2
jmp 0x480359
movsd xmm1, qword [esp + 0x28]
lea esi, [esp + 0xf0]
mov eax, dword [esp + 0x38]
movsd xmm2, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x30]
movsd qword [esi + 0x18], xmm1
movsd xmm1, qword [esp + 0x3c]
mov dword [esi + 0x28], eax
movsd qword [esi + 0x10], xmm2
movsd xmm2, qword [esp + 0x44]
mov eax, dword [esp + 0x54]
movsd qword [esi + 0x20], xmm0
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [esp + 0x4c]
movsd qword [esp + 0xb0], xmm2
mov dword [esp + 0xc0], eax
movsd qword [esp + 0xb8], xmm1
call fcn.004d0af0
mov dword [esi + 4], edx
mov dword [esi], eax
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x6c]
mov edx, esi
call fcn.00446297
movsd xmm0, qword [esp + 0xa8]
mov eax, dword [esp + 0xc0]
movsd xmm1, qword [esp + 0xb0]
lea esi, [esp + 0xc8]
movsd qword [esp + 0x24], xmm0
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 0x2c], xmm1
mov dword [esp + 0x3c], eax
movsd qword [esp + 0x34], xmm0
movsd xmm1, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
movsd xmm2, qword [esp + 0x30]
movsd qword [esi + 8], xmm1
movsd xmm1, qword [esp + 0x38]
movsd qword [esi], xmm0
movsd qword [esi + 0x10], xmm2
movsd qword [esi + 0x18], xmm1
push 9
pop eax
lea edx, [esp + 0x124]
mov ecx, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0xf0]
mov esi, edx
mov ecx, dword [esp + 0x18]
cmp dword [ecx - 4], 0
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
je 0x47fe7d
push 9
pop ebx
lea edi, [esp + 0x148]
lea esi, [esp + 0xf0]
mov ecx, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movzx edx, byte [esp + 0xb]
call fcn.004ddfbd
lea eax, [esp + 0xf0]
mov ecx, ebx
lea esi, [esp + 0x148]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x78]
lea esi, [esp + 0x20]
mov ecx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x14]
movsd xmm2, qword [eax + 4]
movsd xmm1, qword [eax + 0xc]
mov ebx, dword [esp + 0x64]
mov dword [edi + 0x18], ecx
movsd qword [edi + 0x10], xmm0
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm2
mov ecx, esi
mov edx, ebx
push edi
push dword [esp + 8]
call fcn.00481f3c
mov eax, ebx
add esp, 8
cmp byte [esi + 0x38], 2
jne 0x48038a
cmp dword [eax], 0
je 0x480368
mov eax, dword [esp + 0x14]
mov byte [eax + 0x38], 3
jmp 0x480397
call fcn.004333a9
mov esi, eax
mov ecx, eax
mov edx, str.pool_is_disabledlazy_state_wrongl
push 0x10
call fcn.00433222
pop ecx
mov eax, dword [esp + 0x14]
mov dword [eax], esi
mov byte [eax + 0x38], 2
jmp 0x480397
push 0xf
pop ecx
mov edi, dword [esp + 0x14]
lea esi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 4]
mov edx, esi
add edx, 0x48
call fcn.0050ee20
jmp 0x4800a2
ud2
lea ecx, [esp + 0x20]
call fcn.00444f08
push 0x39
pop edx
mov ecx, str.assertion_failed:_Pin::new_mut_rx_.poll_cx_.is_pending__
push 0x53c370
call fcn.0050d590
pop eax
ud2