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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2a8
mov dword [esp + 0xc], ecx
lea esi, [edx + 0xa8]
lea ecx, [edx + 0x88]
lea eax, [edx + 0x70]
mov ebx, edx
lea edi, [esp + 4]
mov dword [esp + 0x50], 2
mov dword [esp + 0x60], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], ecx
lea esi, [edx + 0x74]
lea ecx, [edx + 0x78]
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
lea eax, [esi - 3]
cmp eax, 2
jae 0x47e05e
cmp dword [ebx + 0xbc], 0
jne 0x47e09b
mov eax, dword [ebx + 0xb8]
cmp dword [ebx + 0xac], eax
jbe 0x47e09b
jmp 0x47e356
test esi, esi
je 0x47e085
xor eax, eax
cmp esi, 1
jne 0x47e088
mov eax, dword [ebx + 0x7c]
mov ecx, 0
sub eax, dword [ebx + 0x80]
cmovb eax, ecx
cmp dword [ebx + 0x84], ecx
cmovne eax, ecx
jmp 0x47e088
mov eax, dword [ebx + 0x7c]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
cmp eax, ecx
cmovb ecx, eax
test ecx, ecx
jne 0x47e4c4
xor eax, eax
cmp esi, 3
mov dword [ebx + 0xbc], eax
mov dword [ebx + 0xb8], eax
mov dword [ebx + 0xac], eax
mov dword [ebx + 0x70], 4
jne 0x47e712
mov eax, dword [esp + 0x40]
mov edx, dword [ebx + 0x84]
mov ecx, dword [esp + 0x34]
mov word [esp + 0x84], 0x904
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [ebx + 0xc0]
mov dword [esp + 4], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x80], edx
lea ecx, [esp + 0x80]
mov edx, edi
add eax, 9
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
mov dword [esp + 8], eax
call fcn.0040d2b3
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x28]
mov edx, dword [edi + 4]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
not edx
cmp edx, esi
cmovae edx, esi
cmp eax, edx
mov dword [esp + 0x74], edx
jbe 0x47e1ff
mov eax, edx
lea edx, [esp + 0x20]
lea ecx, [esp + 0xa0]
push eax
call fcn.004033a1
add esp, 4
mov edx, dword [edi + 4]
mov ebx, dword [esp + 0xa8]
not edx
cmp edx, esi
cmovae edx, esi
cmp edx, ebx
jb 0x47e8fd
mov esi, dword [esp + 0xa4]
test ebx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x70], esi
je 0x47e1bd
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
call fcn.0040b4f2
mov edi, edx
cmp ebx, edx
cmovb edi, ebx
push edi
push esi
push eax
call fcn.004e4a90
add esp, 0xc
lea ecx, [esp + 4]
mov edx, edi
add esi, edi
call fcn.0040b4b1
sub ebx, edi
jne 0x47e182
mov eax, dword [esp + 0x80]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xa0]
push dword [esp + 0x1c]
push dword [esp + 0x74]
lea ecx, [esp + 0xb4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x24]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
movsd qword [esp + 0xa0], xmm0
mov dword [esp + 0xa8], eax
jmp 0x47e245
test eax, eax
mov dword [esp + 0x1c], 0
je 0x47e351
mov ebx, dword [esp + 0x24]
mov edi, eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
call fcn.0040b4f2
mov esi, edx
cmp edi, edx
cmovb esi, edi
push esi
push ebx
push eax
call fcn.004e4a90
add esp, 0xc
lea ecx, [esp + 4]
mov edx, esi
add ebx, esi
call fcn.0040b4b1
sub edi, esi
jne 0x47e215
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 4]
lea edi, [esp + 4]
mov edx, dword [eax + 4]
mov dword [esp + 0x88], 0
mov ecx, edx
sub ecx, dword [esp + 0x7c]
bswap ecx
mov dword [esp + 0x8c], ecx
mov ecx, 0xfffffffb
test ecx, ecx
je 0x47e289
cmp byte [esp + ecx + 0x8d], 0
lea ecx, [ecx + 1]
je 0x47e273
jmp 0x47e8da
cmp edx, 2
jbe 0x47e8ee
lea esi, [esp + 0x8d]
mov ecx, dword [eax]
mov dl, byte [esi + 2]
mov byte [ecx + 2], dl
movzx edx, word [esi]
mov esi, dword [esp + 0x44]
mov word [ecx], dx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x47e2c5
mov edx, dword [eax + 4]
cmp edx, 4
jbe 0x47e89b
mov eax, dword [eax]
add byte [eax + 4], 0xfc
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa0]
cmp dword [esp + 0x78], eax
mov dword [esp + 0x98], edx
movsd qword [esp + 0x90], xmm0
ja 0x47e30a
mov eax, dword [esp + 0x20]
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
mov ecx, dword [esp + 0x28]
add esp, 0xc
test ecx, ecx
je 0x47e034
mov edi, ecx
mov ecx, dword [esp + 0x14]
call fcn.0047df3c
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x6c]
movsd xmm0, qword [esp + 0x90]
mov dword [ebx + 0x70], 3
mov dword [ebx + 0x74], edi
lea edi, [esp + 4]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov dword [ebx + 0x84], esi
jmp 0x47e034
jmp 0x47e249
xor ecx, ecx
cmp dword [ebx + 0xbc], 0
jne 0x47e030
mov eax, dword [ebx + 0xb8]
cmp dword [ebx + 0xac], eax
jbe 0x47e030
mov eax, dword [ebx + 0xd4]
push dword [ebx + 0xd0]
call dword [eax + 0x20]
add esp, 4
test al, al
je 0x47e41b
mov eax, 0xfffffe00
mov dword [esp + eax + 0x2a0], 0
mov dword [esp + eax + 0x2a4], str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs0
add eax, 8
jne 0x47e396
xor eax, eax
cmp dword [ebx + 0xbc], 0
jne 0x47e3e3
mov ecx, dword [ebx + 0xac]
mov edx, dword [ebx + 0xb8]
sub ecx, edx
jbe 0x47e3e3
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa0], ecx
add edx, dword [eax]
xor eax, eax
inc eax
mov dword [esp + 0xa4], edx
mov ecx, dword [ebx + 0xd4]
push eax
lea eax, [esp + 0xa4]
push eax
push dword [ebp + 8]
push dword [ebx + 0xd0]
lea eax, [esp + 0x30]
push eax
call dword [ecx + 0x1c]
add esp, 0x14
cmp byte [esp + 0x20], 5
je 0x47e8aa
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
jmp 0x47e479
mov ecx, dword [ebx + 0xac]
mov eax, dword [ebx + 0xb8]
mov edx, dword [ebx + 0xd4]
cmp eax, ecx
cmovae eax, ecx
cmp dword [ebx + 0xbc], 0
cmovne eax, ecx
sub ecx, eax
add eax, dword [ebx + 0xa8]
push ecx
push eax
push dword [ebp + 8]
push dword [ebx + 0xd0]
lea eax, [esp + 0xb0]
push eax
call dword [edx + 0x10]
add esp, 0x14
cmp byte [esp + 0xa0], 5
je 0x47e8aa
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
cmp al, 4
jne 0x47e8ae
mov edx, dword [ebx + 0xac]
mov esi, dword [ebx + 0xb8]
mov eax, dword [ebx + 0xbc]
mov edi, 0
sub edx, esi
cmovb edx, edi
test eax, eax
cmovne edx, edi
cmp edx, ecx
jb 0x47e8ff
add esi, ecx
lea edi, [esp + 4]
adc eax, 0
mov dword [ebx + 0xb8], esi
mov dword [ebx + 0xbc], eax
jmp 0x47e030
mov eax, dword [ebx + 0xac]
xor ecx, ecx
sub eax, dword [ebx + 0xb8]
cmovb eax, ecx
cmp dword [ebx + 0xbc], ecx
cmovne eax, ecx
test esi, esi
je 0x47e503
cmp esi, 1
jne 0x47e506
mov ecx, dword [ebx + 0x7c]
mov edx, 0
sub ecx, dword [ebx + 0x80]
cmovb ecx, edx
cmp dword [ebx + 0x84], edx
cmovne ecx, edx
jmp 0x47e506
mov ecx, dword [ebx + 0x7c]
mov edx, dword [ebx + 0x88]
cmp ecx, edx
cmovb edx, ecx
mov ecx, dword [esp + 0x10]
xor esi, esi
or eax, edx
je 0x47e02c
mov eax, dword [ebx + 0xd4]
push dword [ebx + 0xd0]
call dword [eax + 0x20]
add esp, 4
test al, al
je 0x47e5c3
mov eax, 0xfffffe00
mov dword [esp + eax + 0x2a0], 0
mov dword [esp + eax + 0x2a4], str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs0
add eax, 8
jne 0x47e53e
xor eax, eax
cmp dword [ebx + 0xbc], 0
mov esi, 0
jne 0x47e590
mov ecx, dword [ebx + 0xac]
mov edx, dword [ebx + 0xb8]
sub ecx, edx
jbe 0x47e590
mov esi, dword [esp + 0x34]
mov dword [esp + 0xa0], ecx
add edx, dword [esi]
xor esi, esi
inc esi
mov dword [esp + 0xa4], edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
test ecx, ecx
je 0x47e62a
cmp ecx, 1
jne 0x47e62d
mov eax, dword [ebx + 0x7c]
mov ecx, 0
sub eax, dword [ebx + 0x80]
cmovb eax, ecx
cmp dword [ebx + 0x84], ecx
cmovne eax, ecx
jmp 0x47e62d
cmp dword [ebx + 0xbc], 0
jne 0x47e5e4
mov edx, dword [ebx + 0xac]
mov eax, dword [ebx + 0xb8]
sub edx, eax
jbe 0x47e5e4
mov ecx, dword [esp + 0x34]
add eax, dword [ecx]
jmp 0x47e5ed
mov ecx, dword [esp + 0x14]
call fcn.0046812f
mov ecx, dword [ebx + 0xd4]
push edx
push eax
push dword [ebp + 8]
push dword [ebx + 0xd0]
lea eax, [esp + 0xb0]
push eax
call dword [ecx + 0x10]
add esp, 0x14
cmp byte [esp + 0xa0], 5
je 0x47e877
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
jmp 0x47e692
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebx + 0x88]
cmp eax, ecx
cmovb ecx, eax
test ecx, ecx
je 0x47e658
mov ecx, dword [esp + 0x14]
call fcn.0046812f
mov dword [esp + esi*8 + 0xa0], edx
mov dword [esp + esi*8 + 0xa4], eax
xor eax, eax
inc eax
jmp 0x47e65a
xor eax, eax
mov ecx, dword [ebx + 0xd4]
add eax, esi
push eax
lea eax, [esp + 0xa4]
push eax
push dword [ebp + 8]
push dword [ebx + 0xd0]
lea eax, [esp + 0x30]
push eax
call dword [ecx + 0x1c]
add esp, 0x14
cmp byte [esp + 0x20], 5
je 0x47e877
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
cmp al, 4
jne 0x47e87f
mov ecx, ebx
mov eax, dword [ebx + 0xbc]
mov ebx, dword [ebx + 0xac]
mov edx, 0
mov ecx, dword [ecx + 0xb8]
mov edi, ebx
sub edi, ecx
cmovb edi, edx
test eax, eax
mov edx, esi
jne 0x47e6e1
cmp ebx, ecx
mov edx, esi
jbe 0x47e6e1
mov edx, esi
sub edx, edi
jbe 0x47e6f0
mov ebx, dword [esp + 0x18]
add ecx, edi
adc eax, 0
mov dword [ebx + 0xb8], ecx
mov dword [ebx + 0xbc], eax
mov ecx, dword [esp + 0x14]
call fcn.004579f4
mov ebx, dword [esp + 0x18]
jmp 0x47e705
mov ebx, dword [esp + 0x18]
add ecx, esi
adc eax, 0
mov dword [ebx + 0xb8], ecx
mov dword [ebx + 0xbc], eax
mov ecx, dword [esp + 0x10]
lea edi, [esp + 4]
jmp 0x47e02c
cmp esi, 4
je 0x47e7dc
mov ecx, dword [esp + 0x40]
cmp dword [ebx + 0x38], 3
mov eax, dword [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esp + 0x3c]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
mov dword [esp + 0x30], eax
movsd qword [esp + 0xb0], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0xb8], xmm0
movsd qword [esp + 0xa0], xmm2
movsd qword [esp + 0xa8], xmm1
je 0x47e784
lea ecx, [ebx + 0x38]
call fcn.0044b7a4
movsd xmm1, qword [esp + 0x28]
mov dword [ebx + 0x38], esi
movsd xmm0, qword [esp + 0x20]
mov eax, dword [esp + 0x30]
movsd xmm3, qword [esp + 0xa0]
movsd xmm2, qword [esp + 0xb0]
movsd qword [ebx + 0x44], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [ebx + 0x3c], xmm0
mov dword [ebx + 0x4c], eax
movsd qword [ebx + 0x50], xmm3
movsd qword [ebx + 0x60], xmm2
movsd qword [ebx + 0x58], xmm1
movsd xmm1, qword [esp + 0xb8]
movsd qword [ebx + 0x68], xmm1
mov eax, dword [ebx + 0xd4]
push dword [ebp + 8]
push dword [ebx + 0xd0]
lea ecx, [esp + 0xa8]
push ecx
call dword [eax + 0x14]
add esp, 0xc
cmp byte [esp + 0xa0], 5
jne 0x47e80c
mov eax, dword [esp + 0xc]
mov byte [eax], 5
jmp 0x47e830
mov eax, dword [esp + 0xa0]
cmp al, 4
jne 0x47e820
mov eax, dword [esp + 0xc]
mov byte [eax], 4
jmp 0x47e830
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x50]
cmp eax, 2
je 0x47e866
test eax, eax
je 0x47e852
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
jmp 0x47e85a
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
lea edx, [esp + 0x48]
push edx
push ecx
call dword [eax + 0x34]
add esp, 8
lea ecx, [esp + 0x48]
call fcn.0040bd24
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 0x38]
mov al, 5
jmp 0x47e885
mov ecx, eax
shrd ecx, esi, 8
cmp al, 5
je 0x47e803
shl ecx, 8
movzx eax, al
or eax, ecx
mov ecx, dword [esp + 0xc]
jmp 0x47e8d0
mov ecx, 4
push 0x4fe03c
call fcn.004e8970
mov al, 5
jmp 0x47e8b8
mov edx, eax
mov dword [esp + 0x10], ecx
shrd edx, ecx, 8
cmp al, 5
je 0x47e803
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
shl edx, 8
movzx eax, al
or eax, edx
mov dword [ecx + 4], esi
mov dword [ecx], eax
jmp 0x47e830
mov ecx, 0x4fdfdc
mov edx, 0x3e
push 0x4fe01c
call fcn.004e8a30
mov ecx, 3
push 0x4fe02c
call fcn.004e89d0
mov ecx, ebx
call fcn.004e8778