Function at 0x47c8e8
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 0x47ca5e
lea esi, [esp + 0xc8]
mov dword [esp + 0x124], edi
lea edx, [edi + 8]
mov ecx, esi
push dword [ebp + 8]
call fcn.0047ec36
pop eax
movzx eax, byte [esi + 0xc]
cmp eax, 2
je 0x47c949
cmp eax, 3
jne 0x47c968
mov ecx, ebx
call fcn.0047eba5
mov dword [ebx], edi
jmp 0x47d128
call fcn.00431f7b
mov esi, eax
mov ecx, eax
mov edx, str.request_has_been_canceled
push 0x19
call fcn.00431e44
pop ecx
mov dword [esp + 0x20], esi
jmp 0x47cc0c
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.004443ca
test al, al
je 0x47cbd7
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.0047ed1e
pop eax
pop ecx
lea eax, [esp + 0x20]
lea ecx, [esp + 0x124]
movzx esi, byte [eax + 0x38]
call fcn.0047ebaf
cmp esi, 4
je 0x47d128
mov eax, esi
cmp esi, 3
je 0x47ca5e
cmp eax, 2
je 0x47cc18
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 0x47d161
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x18]
lea eax, [ecx + 0x18]
test edx, edx
je 0x47cf84
lea esi, [esp + 0xf0]
add edx, 8
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebx
mov ecx, esi
call fcn.00431d21
mov ecx, esi
mov edx, 0x53b0c8
call fcn.0044760f
cmp dword [eax + 0x40], 0
mov byte [esp + 0xb], dl
mov dword [esp + 0x10], eax
je 0x47cc2f
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.00446924
add esp, 0xc
mov edi, edx
mov ecx, esi
mov edx, eax
push ebx
push edi
call fcn.00446dd8
pop ecx
pop edx
mov esi, eax
mov eax, dword [esp + 0x10]
test esi, esi
je 0x47cc2f
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 0x47cc2b
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 0x47cc2b
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.004443ca
test al, al
je 0x47cbc2
cmp dword [esp + 0x68], 0x3b9aca00
je 0x47cde0
call fcn.004ccf20
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.004cd140
add esp, 8
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov esi, edx
cmp eax, edi
sbb esi, ebx
jb 0x47cde0
xor eax, edi
xor edx, ebx
or edx, eax
jne 0x47cbc2
cmp ecx, dword [esp + 0x68]
jbe 0x47cde0
lea ecx, [esp + 0x88]
call fcn.00444178
mov esi, dword [esp + 0x18]
jmp 0x47cb02
call fcn.00431f7b
xor edx, edx
xor ecx, ecx
mov esi, eax
inc edx
call fcn.00422855
mov ecx, esi
mov edi, eax
call fcn.00442443
lea ecx, [esp + 0x78]
mov dword [esi], edi
mov dword [esi + 4], 0x539270
mov dword [esp + 0x20], esi
mov byte [esp + 0x58], 2
call fcn.00444178
lea ecx, [esp + 0x124]
call fcn.0047ebaf
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
mov byte [ecx + 0x38], 2
jmp 0x47d161
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.00446924
add esp, 0xc
add edi, 0x38
mov esi, edx
mov edx, eax
mov ecx, edi
push ebx
push esi
call fcn.00446dd8
pop ecx
pop edx
test eax, eax
je 0x47cc96
mov ecx, edi
mov edx, eax
mov esi, eax
call fcn.00445fa9
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 0x47cc9d
and dword [esp + 0x7c], 0
jmp 0x47cccb
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.0044415c
cmp dword [esp + 0x7c], 0
je 0x47cccb
lea ecx, [esp + 0x78]
call fcn.004452b4
cmp dword [esp + 0xc], 0x3b9aca00
mov eax, dword [esp + 0x10]
jne 0x47d0a6
mov eax, dword [esp + 0x60]
cmp dword [eax], 0
jne 0x47cf72
push 0x44
pop ecx
push 4
pop edx
call fcn.00422855
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 0x47d17c
mov edx, dword [esp + 4]
lea ebx, [esp + 0x20]
mov ecx, ebx
call fcn.00444456
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.00446924
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 0x47edb5
push ebx
push edi
mov dword [esp + 0x28], eax
push eax
call fcn.0049fe8d
add esp, 0x10
test eax, eax
je 0x47ce62
mov ebx, dword [esi + 0x64]
test ebx, ebx
je 0x47ce62
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.0044691a
jmp 0x47cf02
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.00445338
cmp byte [esi + 0x28], 2
jne 0x47cf8e
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 0x47d00d
cmp dword [esi + 0x5c], 0
je 0x47d169
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.0049fe0e
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 0x47cf21
lea ecx, [ebx - 0x10]
call fcn.0043bcce
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.0047ec36
pop eax
mov al, byte [ebx + 0xc]
cmp al, 1
jbe 0x47d180
mov esi, dword [esp + 0x60]
cmp al, 3
jne 0x47d189
mov ecx, esi
call fcn.0047eba5
mov eax, dword [esp + 0xc]
mov dword [esi], eax
movzx edx, byte [esp + 0xb]
mov ecx, dword [esp + 0x10]
call fcn.0043bbaa
mov eax, dword [esp + 0x64]
mov byte [esp + 0x58], 2
jmp 0x47d123
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.004ccf20
mov dword [esi + 4], edx
mov dword [esi], eax
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x6c]
mov edx, esi
call fcn.00445479
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 0x47cc47
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.0043bbaa
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.0047ed1e
mov eax, ebx
add esp, 8
cmp byte [esi + 0x38], 2
jne 0x47d154
cmp dword [eax], 0
je 0x47d132
mov eax, dword [esp + 0x14]
mov byte [eax + 0x38], 3
jmp 0x47d161
call fcn.00431f7b
mov esi, eax
mov ecx, eax
mov edx, str.pool_is_disabledlazy_state_wrong
push 0x10
call fcn.00431e44
pop ecx
mov eax, dword [esp + 0x14]
mov dword [eax], esi
mov byte [eax + 0x38], 2
jmp 0x47d161
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.0050c85c
jmp 0x47ce6c
ud2
lea ecx, [esp + 0x20]
call fcn.00444178
push 0x39
pop edx
mov ecx, str.assertion_failed:_Pin::new_mut_rx_.poll_cx_.is_pending__
push 0x53b114
call fcn.0050af40
pop eax
ud2