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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa8
call 0x4fc57f
pop eax
mov dword [esp + 0x9c], edx
mov ebx, ecx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xc0]
mov dword [ebp + 8], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x54], 0
mov dword [ebp + 0x68], 0
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
cmp ecx, edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x7c], edx
jbe 0x4fc5de
add esp, 0xa8
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [eax + 0xc]
cmp ecx, 0xffffffff
mov dword [esp + 0xc], ecx
je 0x501a84
mov ecx, dword [eax]
test ecx, ecx
je 0x4fc601
cmp ecx, 1
jne 0x4fc618
mov ecx, dword [ebx + 0x130]
jmp 0x4fc62c
mov ecx, dword [ebx + 0x130]
cmp ecx, dword [ebx + 0x134]
mov dword [esp + 0x78], ecx
sete byte [esp + 0x5f]
jmp 0x4fc635
mov ecx, dword [eax + 4]
cmp dword [ebx + 0x15c], ecx
jbe 0x4fc5d3
mov edx, dword [ebx + 0x158]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x78], ecx
mov byte [esp + 0x5f], 1
mov ecx, dword [eax + 8]
movzx eax, byte [eax + 0x18]
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0x98]
mov dword [esp + 8], ebx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x9c]
mov byte [esp + 0x72], al
mov eax, dword [esi + 8]
mov dword [esp + 0xa0], edi
cmp cl, 2
sete dl
or dl, cl
mov byte [esp + 0x73], dl
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x54], edx
cmp byte [esp + 0x9c], 0
mov dword [esp + 0x10], edi
setne cl
cmp edi, dword [esp + 0x7c]
adc dword [esp + 0xa0], 0
test eax, eax
setne al
and al, cl
cmp dword [esp + 0x54], 0
je 0x4fc6b0
test al, al
je 0x4fc6c6
jmp 0x4fda80
cmp edi, dword [esp + 0x98]
seta cl
and cl, byte [esp + 0x5f]
or cl, al
jne 0x4fc5d3
mov edx, dword [ebp + 8]
cmp edx, dword [ebp]
jne 0x4fc6d8
mov ecx, ebp
call fcn.00418db0
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x78]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4], 0
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x10]
mov dword [ebp + 8], edx
je 0x4fda80
mov eax, dword [esp + 0xc]
lea ecx, [edi - 1]
mov esi, 0
mov dword [esp + 0x50], ecx
mov ecx, edi
sub eax, edi
sub ecx, 4
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
cmovb ecx, esi
mov dword [esp + 0x20], ecx
add eax, edi
mov dword [esp], eax
jmp 0x4fc742
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x10]
mov edx, dword [ebp + 8]
test edx, edx
je 0x4fda80
dec edx
mov dword [ebp + 8], edx
lea edx, [edx + edx*2]
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ecx + edx*4 + 4]
test eax, eax
je 0x4fc763
jmp 0x4fda6b
mov edx, dword [ebp + 0x20]
mov dword [esp + 0x58], ecx
cmp edx, ecx
jbe 0x501828
mov edi, dword [ebp + 0x1c]
mov esi, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [edi + ecx*4]
cmp ecx, dword [esp + 0x54]
jae 0x4fc79e
cmp ecx, eax
jae 0x50183e
mov ebx, dword [esp + 0xbc]
mov ebx, dword [ebx + 0x10]
cmp dword [ebx + ecx*4], esi
mov ebx, dword [esp + 8]
je 0x4fc72c
mov ecx, dword [esp + 0x54]
cmp ecx, eax
mov dword [esp + 0x68], ecx
jae 0x501950
mov ebp, dword [esp + 0xbc]
mov eax, dword [ebp + 0x10]
mov dword [eax + ecx*4], esi
mov eax, esi
mov esi, ecx
mov ecx, dword [esp + 0x58]
cmp ecx, edx
jae 0x50181e
mov dword [edi + ecx*4], esi
inc esi
mov dword [ebp + 0x24], esi
mov edx, dword [ebx + 0x150]
cmp edx, eax
jbe 0x501832
mov ecx, dword [ebx + 0x14c]
lea edx, [eax + eax*4]
mov edi, eax
mov dword [esp + 0x54], esi
lea eax, [ecx + edx*4]
mov ecx, dword [ecx + edx*4]
mov ecx, dword [ecx*4 + 0x501adc]
add ecx, dword [esp + 0x64]
jmp ecx
cmp eax, 2
jne 0x5019e2
nop word cs:[eax + eax]
nop
cmp byte [ebx + 0x162], 0
je 0x4fdab0
cmp byte [ebx + 0x163], 0
setne al
mov dword [esp + 0xa4], eax
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x24]
cmp ecx, edx
jbe 0x4fdac9
jmp 0x501a4c
mov dword [esp + 0xa4], 0
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x24]
cmp ecx, edx
ja 0x501a4c
test ecx, ecx
je 0x501790
lea esi, [edi + 1]
mov eax, 0
mov ebp, dword [ebp + 0x10]
mov edx, esi
sub edx, 4
cmovb edx, eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 8]
mov ebx, dword [ebp]
mov edx, dword [edx + 0x150]
cmp edx, ebx
jbe 0x50184a
lea eax, [ebp + ecx*4]
mov ecx, ebp
mov dword [esp + 4], esi
mov dword [esp + 0x50], eax
lea eax, [edi + 2]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc]
sub eax, esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
lea eax, [eax + edi + 1]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 8]
jmp 0x4fdb5d
mov eax, dword [eax + 0x14c]
add ecx, 4
mov dword [esp + 0x18], ecx
lea ecx, [ebx + ebx*4]
lea esi, [eax + ecx*4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax*4 + 0x501c00]
add eax, dword [esp + 0x64]
jmp eax
mov ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 8]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 4]
je 0x4fc5d3
cmp byte [esp + 0x72], 0
jne 0x4fc5d3
movups xmm0, xmmword [ebp + 0x3c]
movups xmm1, xmmword [ebp + 0xc]
cmp edi, dword [esp + 0x7c]
movups xmmword [ebp + 0xc], xmm0
movups xmmword [ebp + 0x3c], xmm1
movsd xmm1, qword [ebp + 0x1c]
movdqu xmm0, xmmword [ebp + 0x4c]
movsd qword [ebp + 0x4c], xmm1
mov ecx, dword [ebp + 0x38]
movups xmm1, xmmword [ebp + 0x5c]
movups xmm2, xmmword [ebp + 0x28]
movdqu xmmword [ebp + 0x1c], xmm0
movups xmmword [ebp + 0x58], xmm2
movups xmmword [ebp + 0x2c], xmm1
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x54], 0
jae 0x4fc5d3
mov edi, dword [esp + 0xa0]
pshufd xmm0, xmm0, 0xee
movd dword [esp + 0x54], xmm0
cmp edi, dword [esp + 0x7c]
jbe 0x4fc67a
jmp 0x4fc5d3
push 0x59eb10
call fcn.0057f710
push 0x59eb20
call fcn.0057f710
mov ecx, eax
push 0x59d604
call fcn.0057f710
mov edx, eax
push 0x59eb30
call fcn.0057f710
mov ecx, ebx
push 0x59d604
call fcn.0057f710
mov ecx, edx
mov edx, ebx
push 0x59eb60
call fcn.0057f710
mov ecx, edi
push 0x59eb20
call fcn.0057f710
mov ecx, esi
push 0x59d604
call fcn.0057f710
mov ecx, edx
mov edx, edi
push 0x59eb60
call fcn.0057f710
mov ecx, edx
mov edx, dword [esp + 4]
push 0x59eb60
call fcn.0057f710
mov ecx, edx
mov edx, dword [esp + 0x24]
push 0x59d964
call fcn.0057f710
mov ecx, edi
mov edx, dword [esp + 0x24]
push 0x59d964
call fcn.0057f710
mov ecx, dword [esp + 0x50]
push 0x59dfb0
call fcn.0057f710
push 0x59d850
call fcn.0057f710
mov edx, dword [esp + 0xc]
push 0x59dfe0
call fcn.0057f710
mov edx, dword [esp + 0xc]
push 0x59ddd4
call fcn.0057f710
mov edx, dword [esp + 0xc]
push 0x59dfd0
call fcn.0057f710
mov edx, dword [esp + 0xc]
push 0x59dff0
call fcn.0057f710
push 0x59df90
call fcn.0057f710
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push 0x59dde4
call fcn.0057f710
mov ecx, dword [esp + 4]
push 0x59dfa0
call fcn.0057f710
mov ecx, edi
mov edx, dword [esp + 0xc]
push 0x59dde4
call fcn.0057f710
mov ecx, edi
push 0x59dfa0
call fcn.0057f710
lea edx, [esp + 0x68]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x80], 0x59eae8
mov dword [esp + 0x84], 3
mov dword [esp + 0x90], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0x45c6a0
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x58]
mov dword [esp + 0x38], 0x45c6a0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x80]
mov edx, 0x59eb00
mov dword [esp + 0x40], 0x4c6db0
mov dword [esp + 0x8c], 3
call fcn.0057f680
mov ecx, 0x59d974
call fcn.0057fb10
mov ecx, eax
push 0x59d9d8
call fcn.0057f770
xor edx, edx
push 0x59d964
call fcn.0057f710
mov ecx, edi
mov edx, eax
push 0x59d9d8
call fcn.0057f990
mov edx, dword [esp + 0x24]
push 0x59d984
call fcn.0057fc90
xor edx, edx
push 0x59d984
call fcn.0057fc90
mov ecx, 0x59eb50
call fcn.0057fb10
mov ecx, edi
mov edx, dword [esp + 0xc]
push 0x59e010
call fcn.0057f770
mov ecx, edx
mov edx, edi
push 0x59eb70
call fcn.0057f6b0
mov ecx, ebx
mov edx, eax
push 0x59d9d8
call fcn.0057f990
push 0x59eb40
call fcn.0057f770
mov ecx, esi
mov edx, eax
push 0x59d9d8
call fcn.0057f990
mov ecx, edi
mov edx, dword [esp + 0xc]
push 0x59e000
call fcn.0057f770
mov ecx, ebx
mov edx, dword [esp + 0xc]
push 0x59e010
call fcn.0057f770
lea ecx, [esp + 0x2c]
mov edx, 0x59d944
mov dword [esp + 0x2c], 0x59d92c
mov dword [esp + 0x30], 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], str._rustc_aedd173a2c086e558c2b66d3743b344f977621a7librarycore_src_strpattern.rs
mov dword [esp + 0x38], 0
call fcn.0057f680
mov ecx, edx
mov edx, ebx
push 0x59eb70
call fcn.0057f6b0
mov ecx, ebx
mov edx, dword [esp + 0xc]
push 0x59e000
call fcn.0057f770
ud2