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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2d8
cmp byte [ecx + 0x2c], 2
mov dword [esp + 0x4c], edx
je 0x47c5b0
lea eax, [ecx + 0x20]
lea esi, [esp + 0x98]
mov ebx, ecx
mov edx, dword [eax]
mov ecx, esi
mov dword [esp + 0x14], eax
add edx, 8
call fcn.00413448
cmp dword [esi], 0
jne 0x47c5c4
lea eax, [esp + 0x98]
mov esi, dword [ebx + 0x24]
mov edi, dword [eax + 4]
mov al, byte [eax + 8]
mov byte [esp + 0x18], al
mov eax, dword [ebx + 0x28]
mov ecx, dword [edi + 0x18c]
mov edx, dword [edi + 0x190]
mov dword [esp + 0x10], eax
push eax
mov dword [esp + 0x10], esi
push esi
call fcn.004109f3
add esp, 8
lea esi, [esp + 0x98]
lea edx, [eax + 0xac]
lea eax, [edi + 0x9c]
mov ecx, esi
push eax
call fcn.0041681d
add esp, 4
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x1c], ebx
mov dword [esp + 8], edi
mov edx, eax
xor edx, 6
or edx, ecx
jne 0x47bd16
mov ecx, dword [edi + 0x18c]
mov edx, dword [edi + 0x190]
mov edi, dword [esp + 0x10]
push edi
mov ebx, dword [esp + 0x10]
push ebx
call fcn.00410a65
add esp, 8
lea esi, [esp + 0x28]
lea edx, [eax + 0x20]
mov ecx, esi
call fcn.00417442
mov al, byte [esi]
cmp al, 3
jne 0x47bdd0
cmp byte [esp + 0x29], 0
je 0x47be85
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [eax]
push dword [eax + 4]
call dword [ecx]
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 0x18c]
mov edx, dword [eax + 0x190]
push edi
push ebx
call fcn.004109f3
add esp, 8
mov esi, eax
mov eax, dword [eax + 0x50]
test eax, eax
je 0x47bcf1
push dword [esi + 0x54]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
movzx edx, byte [esp + 0x18]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
mov ecx, dword [esp + 8]
call fcn.00422a70
mov ebx, dword [esp + 0x1c]
jmp 0x47bdb5
mov esi, eax
mov edx, ecx
add esi, 0xfffffffc
adc edx, 0xffffffff
xor edi, edi
xor ebx, ebx
inc ebx
cmp ebx, esi
sbb edi, edx
setb dl
cmp esi, 0xffffffff
sete dh
xor eax, 3
or eax, ecx
jne 0x47c609
or dl, dh
je 0x47c609
lea esi, [esp + 0xb4]
mov eax, dword [esi - 0x14]
movzx edi, word [esi - 0xa]
mov edx, dword [esi - 8]
mov ecx, dword [esi - 4]
mov ebx, dword [esi - 0x10]
mov dword [esp + 0xc], eax
mov al, byte [esi - 0xc]
mov word [esp + 0x22], di
mov dword [esp + 0x24], ecx
mov dword [esp + 0x48], edx
lea edi, [esp + 0x190]
mov ecx, 0xd
mov dword [esp + 0x10], eax
mov al, byte [esi - 0xb]
mov byte [esp + 7], al
rep movsd dword es:[edi], dword [esi]
movzx edx, byte [esp + 0x18]
mov ecx, dword [esp + 8]
call fcn.00422a70
mov ecx, dword [esp + 0xc]
mov eax, ecx
xor eax, 3
or eax, ebx
je 0x47be15
mov eax, ecx
mov dword [esp + 8], ebx
xor eax, 4
or eax, ebx
mov ebx, dword [esp + 0x1c]
jne 0x47be22
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f0], 5
jmp 0x47c4d5
movzx esi, word [esp + 0x2a]
mov bl, byte [esp + 0x29]
mov edx, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov word [esp + 0x22], si
mov esi, dword [esp + 8]
mov byte [esp + 7], bl
mov dword [esp + 0x24], edx
movsd qword [esp + 0x190], xmm0
mov dword [esp + 0x198], ecx
jmp 0x47beb9
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
jmp 0x47bec9
lea eax, [esp + 0x158]
lea edx, [esp + 0x19c]
mov ecx, 0xa
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [edx - 0xc]
mov byte [eax - 0x18], cl
mov cl, byte [esp + 7]
mov byte [eax - 0x17], cl
movzx ecx, word [esp + 0x22]
mov word [eax - 0x16], cx
mov ecx, dword [esp + 0x48]
mov dword [eax - 0x14], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax - 0x10], ecx
mov ecx, dword [edx - 4]
mov edx, dword [esp + 0x14]
movsd qword [eax - 0xc], xmm0
mov dword [eax - 4], ecx
lea ecx, [esp + 0x180]
call fcn.0040ce55
jmp 0x47bf24
mov esi, dword [esp + 8]
mov ecx, dword [esi + 0x18c]
mov edx, dword [esi + 0x190]
push edi
push ebx
call fcn.00410a65
add esp, 8
mov edi, dword [eax + 0xcc]
xor eax, eax
mov byte [esp + 7], 1
mov dword [esp + 0x10], 0
inc eax
mov dword [esp + 0x24], eax
movzx edx, byte [esp + 0x18]
mov ecx, esi
call fcn.00422a70
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x98]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x198]
movsd xmm0, qword [esp + 0x190]
mov byte [edx], al
mov al, byte [esp + 7]
mov byte [edx + 1], al
movzx eax, word [esp + 0x22]
mov word [edx + 2], ax
mov dword [edx + 4], edi
mov dword [edx + 8], esi
mov dword [edx + 0x14], ecx
lea ecx, [esp + 0x140]
movsd qword [edx + 0xc], xmm0
call fcn.0040c7d3
mov dword [esp + 8], 0
mov dword [esp + 0xc], 3
lea esi, [esp + 0x158]
lea edi, [esp + 0x298]
mov ecx, 0xe
lea eax, [ebx + 0xc]
movsd xmm0, qword [esi - 8]
movsd xmm1, qword [esi - 0x10]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [esi - 0x18]
movsd qword [esp + 0x70], xmm1
movsd qword [esp + 0x68], xmm0
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x18], eax
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x14]
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x58], xmm1
mov dword [esp + 0x60], eax
call fcn.0043b6f7
mov ecx, dword [esp + 0xc]
mov byte [ebx + 0x2c], 2
mov ebx, dword [esp + 8]
mov edi, ecx
xor edi, 3
mov eax, edi
or eax, ebx
je 0x47c140
movsd xmm1, qword [esp + 0x70]
mov dword [esp + 0x14], edi
lea edi, [esp + 0x1b0]
movsd xmm0, qword [esp + 0x68]
mov eax, ecx
lea esi, [esp + 0x298]
mov dword [edi - 0x20], ecx
mov dword [edi - 0x1c], ebx
mov ecx, 0xe
movsd qword [edi - 0x10], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [edi - 0x18], xmm0
movsd qword [edi - 8], xmm1
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x60]
test eax, eax
mov dword [esp + 0xc], eax
je 0x47c044
mov eax, dword [esp + 0xc]
lea esi, [esp + 0x98]
mov ecx, esi
lea edx, [eax + 8]
call fcn.00413448
cmp dword [esi], 0
jne 0x47c645
mov esi, dword [esp + 0x9c]
mov al, byte [esp + 0xa0]
cmp dword [esi + 0x38], 0x3b9aca00
je 0x47c03a
mov byte [esp + 0x10], al
call fcn.0049b760
mov dword [esi + 0x30], eax
mov al, byte [esp + 0x10]
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], ecx
movzx edx, al
mov ecx, esi
call fcn.00422a70
lea esi, [esp + 0x288]
lea edi, [esp + 0x190]
mov ecx, esi
mov edx, edi
call fcn.00420c3c
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movzx eax, word [edi + 0x44]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x88], xmm1
mov word [esp + 0x90], ax
cmp eax, 0xc8
mov eax, dword [esp + 0x80]
jne 0x47c1e8
test eax, eax
je 0x47c1e8
cmp dword [esp + 0x10], 0
je 0x47c361
or edx, ecx
je 0x47c361
mov esi, dword [esp + 0x18]
mov edx, 2
mov edi, ebx
mov ecx, esi
call fcn.004802a6
lea ecx, [esp + 0x98]
mov byte [ecx], 2
mov dword [ecx + 4], 2
call fcn.0041ee9e
mov ecx, esi
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f0], 3
call fcn.0043b6dc
lea esi, [esp + 0x190]
mov ecx, esi
call fcn.0040f95c
mov ecx, dword [esi + 0x40]
call fcn.0041ff9c
lea esi, [esp + 0x1d8]
mov ecx, esi
call fcn.00412f65
mov ecx, esi
call fcn.0043b6f7
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
jmp 0x47c1b8
mov esi, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
mov ecx, esi
movsd qword [esp + 0xa8], xmm0
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0x98], xmm2
call fcn.0041f754
test eax, eax
je 0x47c318
xor ecx, ecx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x14], edi
mov edi, ebx
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f4], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x1f0], 3
call fcn.0043b710
mov ebx, dword [esp + 0x1c]
test esi, esi
je 0x47c1ca
lock dec dword [esi]
jne 0x47c1ca
lea ecx, [esp + 0x60]
call fcn.0042259a
or dword [esp + 0x14], edi
jne 0x47c4bc
cmp dword [esp + 0x50], 0
je 0x47c4bc
lea ecx, [esp + 0x50]
jmp 0x47c30e
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
lea edi, [esp + 0x98]
lea esi, [esp + 0x190]
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xe0]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x140], eax
movsd qword [esp + 0x138], xmm0
mov dword [esp + 0x28], esi
call fcn.00412e95
xor edi, edi
test al, al
cmove edi, esi
test esi, esi
je 0x47c257
mov edx, dword [esp + 8]
test al, al
je 0x47c25b
xor edi, edi
lock dec dword [esi]
jne 0x47c25b
lea ecx, [esp + 0x28]
call fcn.0042259a
mov edx, dword [esp + 8]
cmp dword [esp + 0x10], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc], edi
je 0x47c274
cmp ebx, 0xfffffffe
mov eax, edx
sbb eax, 0xffffffff
jb 0x47c292
lea ecx, [esp + 0x138]
call fcn.00412e95
xor edx, edx
xor ecx, ecx
mov ebx, 0xfffffffe
dec edx
test al, al
cmovne edx, ecx
cmovne ebx, ecx
mov eax, dword [esp + 0x140]
movsd xmm0, qword [esp + 0x138]
lea esi, [esp + 0x98]
mov ecx, 0x12
mov dword [esp + 0x30], eax
lea eax, [esp + 0x1f8]
movsd qword [esp + 0x28], xmm0
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x48], 2
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x28]
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x58], esi
movsd qword [eax + 0x50], xmm0
mov dword [eax + 0x60], ebx
xor esi, esi
cmp dword [esp + 0x18], 0
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x64], edx
mov dword [eax + 0x68], esi
mov dword [eax - 4], esi
mov dword [eax - 8], 4
je 0x47c4bc
lea ecx, [esp + 0x80]
call fcn.0043b6dc
jmp 0x47c4bc
lea ecx, [esp + 0x68]
call fcn.0041ee9e
mov ebx, dword [esp + 0x1c]
test esi, esi
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f0], 3
je 0x47c1d4
lock dec dword [esi]
jne 0x47c1d4
lea ecx, [esp + 0x60]
call fcn.0042259a
jmp 0x47c1d4
lea eax, [esp + 0x98]
lea ebx, [esp + 0x190]
mov ecx, 0x16
lea edx, [esp + 0x138]
mov edi, eax
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x12
mov edi, edx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, ebx
mov ecx, dword [eax + 0x50]
movsd xmm0, qword [eax + 0x48]
lea eax, [esp + 0x98]
mov edi, eax
mov dword [edx + 0x50], ecx
movsd qword [edx + 0x48], xmm0
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx + 0x50]
movsd xmm0, qword [edx + 0x48]
xor esi, esi
mov dword [eax + 0x48], esi
mov dword [eax + 0x4c], esi
mov dword [esp + 0x40], ecx
movsd qword [esp + 0x38], xmm0
mov dword [eax + 0x68], esi
call fcn.00422ad2
mov edi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], edx
mov ecx, 0x30
mov edx, 4
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x30], xmm1
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
je 0x47c678
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
mov ebx, str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs
mov dword [eax + 0x18], ecx
mov ecx, 0x5222f4
movsd xmm0, qword [esp + 0x38]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x30]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], esi
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edx
lea edx, [esp + 0x138]
mov dword [edx + 8], ecx
mov ecx, edi
mov dword [edx + 0xc], ebx
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], esi
mov dword [edx], eax
mov dword [edx + 4], 0x524168
call fcn.00420936
xor edx, edx
lea ecx, [esp + 0xd8]
inc edx
push dword [esp + 8]
call fcn.004819d9
add esp, 4
test eax, 0xfffffffd
jne 0x47c58a
lea eax, [esp + 0x1f8]
lea esi, [esp + 0x98]
mov ecx, 0x1c
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax - 4], 0
mov dword [eax - 8], 4
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1f0]
mov ecx, eax
and cl, 7
cmp cl, 4
je 0x47c4f8
and eax, 7
cmp eax, 5
jne 0x47c54e
cmp dword [ebx], 2
je 0x47c5f5
mov edx, dword [esp + 0x4c]
mov ecx, ebx
call fcn.00458aba
test al, al
je 0x47c580
mov al, 1
jmp 0x47c582
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov dword [ebx], 2
cmp ecx, 2
je 0x47c61d
lea eax, [esp + 0x138]
lea esi, [esp + 0x1f8]
mov dword [eax], ecx
mov dword [eax + 4], edx
lea edx, [esp + 0xa8]
mov dword [eax + 8], edi
mov ecx, 0x1c
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov dword [edx - 4], 0
mov dword [edx - 8], 4
lea edx, [esp + 0x98]
mov ecx, eax
jmp 0x47c57b
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [ebx], 2
cmp eax, 2
je 0x47c631
lea ecx, [esp + 0x98]
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea edx, [esp + 0x1e8]
mov dword [ecx + 8], esi
call fcn.00459423
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edx
mov esi, edx
call fcn.0046bda6
test esi, esi
je 0x47c493
lock dec dword [esi]
jne 0x47c493
mov ecx, esi
call fcn.00422999
jmp 0x47c493
mov ecx, 0x521614
mov edx, 0x36
push 0x52164c
call fcn.004ed309
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0xa0]
lea esi, [esp + 0x28]
mov edx, 0x2b
mov dword [esi], eax
mov byte [esi + 4], cl
mov ecx, 0x52e639
push 0x4fded4
push 0x4f47b4
push esi
call fcn.004e8f30
mov ecx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
push 0x5240b0
call fcn.004e8ca0
mov ecx, str.poll_response_called_after_response_returned
mov edx, 0x2c
push 0x4fe3fc
call fcn.004eac4b
mov ecx, str.polled_after_complete
mov edx, 0x15
push 0x524090
call fcn.004e8fb0
mov ecx, str.polled_after_complete
mov edx, 0x15
push 0x5240a0
call fcn.004e8fb0
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0xa0]
lea esi, [esp + 0x138]
mov edx, 0x2b
mov dword [esi], eax
mov byte [esi + 4], cl
mov ecx, 0x52e639
push 0x5019ac
push 0x501104
jmp 0x47c5ef
mov ecx, 4
mov edx, 0x30
call fcn.004e8800