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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x5c8
call 0x4b5a0c
pop eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax + 0xb4]
add esi, 8
push 4
pop edx
mov ecx, esi
call fcn.004b583d
mov ebx, eax
push 5
pop edx
mov ecx, esi
call fcn.004b583d
and dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
and dword [esp + 0x54], 0
test al, al
mov byte [esp + 0x1b], al
je 0x4b5a65
sub esp, 4
lea ecx, [esp + 0x50]
push 5
pop edx
call fcn.004a84dd
pop eax
test bl, bl
je 0x4b5a79
sub esp, 4
lea ecx, [esp + 0x50]
push 4
pop edx
call fcn.004a84dd
pop eax
cmp dword [esp + 0x54], 0
mov edi, dword [ebp + 0x1c]
je 0x4b72d8
push 4
pop edx
mov ecx, 0xa8
call fcn.00423cc6
mov esi, eax
movsd xmm0, qword [esp + 0x4c]
mov eax, dword [esp + 0x54]
xor ecx, ecx
inc ecx
movsd qword [esp + 0x268], xmm0
mov dword [esp + 0x270], eax
call fcn.004a041e
and word [edx], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [edi + 0xb4]
mov edi, dword [eax + 0x44]
mov ebx, dword [eax + 0x40]
mov dword [esp + 0xc], eax
mov ecx, edi
call fcn.004a03cf
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], edx
and dword [esp + 0x108], 0
cmp eax, edi
jae 0x4b5b1b
xor edx, edx
lea ecx, [esp + 0x100]
push edi
call fcn.004a08de
pop ecx
mov ecx, eax
call fcn.00403850
lea eax, [esp + 0x100]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x4b5b1d
xor eax, eax
shl edi, 2
test edi, edi
je 0x4b5b35
mov ecx, dword [ebx]
add ebx, 4
add edi, 0xfffffffc
mov ecx, dword [ecx + 4]
mov dword [edx + eax*4], ecx
inc eax
jmp 0x4b5b20
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
call fcn.004b5831
lea edi, [esp + 0x58]
push eax
push edi
call dword [edx + 0x1c]
add esp, 8
push 6
pop eax
mov dword [esi], eax
mov ebx, dword [ebp + 0x1c]
movsd xmm0, qword [esp + 0x268]
movsd qword [esi + 4], xmm0
mov ecx, dword [esp + 0x270]
mov dword [esi + 0xc], ecx
movsd xmm0, qword [esp + 0x2c4]
movsd qword [esi + 0x10], xmm0
mov ecx, dword [esp + 0x2cc]
mov dword [esi + 0x18], ecx
mov ecx, dword [esp + 4]
and dword [esi + 0x1c], 0
xor edx, edx
inc edx
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 8]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], edx
movsd xmm0, qword [esp + 0x1b0]
movsd qword [esi + 0x2c], xmm0
mov ecx, dword [esp + 0x1b8]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x38], edx
movsd xmm0, qword [esp + 0x100]
movsd qword [esi + 0x3c], xmm0
mov ecx, dword [esp + 0x108]
mov dword [esi + 0x44], ecx
mov dword [esi + 0x54], 2
movsd xmm0, qword [edi]
movsd qword [esi + 0x58], xmm0
mov ecx, dword [edi + 8]
mov dword [esi + 0x60], ecx
mov dword [esi + 0x70], 0xb
mov dword [esi + 0x8c], 0xc
and dword [esi + 0x90], 0
mov dword [esi + 0x94], 4
and dword [esi + 0x98], 0
and dword [esi + 0x9c], 0
mov dword [esi + 0xa0], edx
and dword [esi + 0xa4], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
xor esi, esi
mov dword [esp + 0x24], eax
cmp byte [ebx + 0xc4], 0
jne 0x4b5c4a
mov esi, dword [ebx + 0xcc]
mov ecx, dword [ebp + 8]
test esi, esi
je 0x4b5d5a
mov eax, dword [ebx + 0xb4]
cmp byte [eax + 0x60], 0
je 0x4b5d5a
mov edi, dword [ebx + 0xd0]
mov dword [esp + 0x58], 0x2e
test edi, edi
je 0x4b5cca
lea ecx, [edi - 1]
mov edx, esi
mov dword [esp + 4], ecx
push 0x54f1fc
push edi
call fcn.00470b88
pop ecx
pop ecx
mov ebx, edx
xor edx, edx
lea ecx, [esp + 0x58]
inc edx
push ebx
mov ebx, dword [ebp + 0x1c]
push eax
call fcn.0043c53d
pop ecx
pop edx
test al, al
je 0x4b5cca
mov eax, dword [esp + 4]
test eax, eax
je 0x4b5cd3
cmp byte [esi + eax], 0xbf
jg 0x4b5cd5
mov ecx, esi
mov edx, edi
push 0x55299c
push eax
push 0
call fcn.0050d950
jmp 0x4b7308
lea ecx, [esp + 0x58]
mov edx, esi
push edi
jmp 0x4b5cef
xor eax, eax
mov ecx, esi
mov edx, eax
call fcn.004a9449
test eax, eax
je 0x4b72ec
mov esi, edx
lea ecx, [esp + 0x58]
mov edx, eax
push esi
call fcn.004a943e
pop eax
lea esi, [esp + 0x58]
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 0x108], eax
movsd qword [esp + 0x100], xmm0
push 0x14
pop ecx
push 4
pop edx
call fcn.00423cc6
and dword [eax], 0
mov edx, esi
movsd xmm0, qword [esp + 0x100]
movsd qword [eax + 4], xmm0
mov ecx, dword [esp + 0x108]
mov dword [eax + 0xc], ecx
xor ecx, ecx
mov byte [eax + 0x10], 0
inc ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
lea ecx, [esp + 0x1c]
mov dword [esi], 3
call fcn.004a7fdc
mov ecx, dword [ebp + 8]
cmp byte [ebp + 0x10], 0
je 0x4b5d76
lea edx, [esp + 0x58]
lea ecx, [esp + 0x1c]
mov dword [edx], 0xd
call fcn.004a7fdc
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x30], 0
je 0x4b5dec
mov eax, dword [ecx + 0x38]
add ecx, 0x3c
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
call fcn.00495ff1
mov esi, edx
mov ecx, edx
xor edx, edx
mov edi, eax
call fcn.00494904
mov ebx, edx
mov dword [esp + 8], eax
push esi
push edi
push edx
call fcn.005010b0
add esp, 0xc
push 0x10
pop ecx
push 4
pop edx
call fcn.00423cc6
mov ecx, dword [esp + 8]
lea edx, [esp + 0x58]
mov dword [eax], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov ebx, dword [ebp + 0x1c]
mov dword [eax + 0xc], ecx
xor ecx, ecx
inc ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea ecx, [esp + 0x1c]
mov dword [edx], 7
call fcn.004a7fdc
cmp dword [esp + 0x30], 0
je 0x4b5e2c
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
call fcn.004a94c6
test eax, eax
je 0x4b5e2c
mov edx, dword [eax + 4]
lea esi, [esp + 0x5c]
mov ecx, esi
push dword [eax + 8]
call fcn.004948d9
pop eax
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x58]
mov dword [esi - 4], 0xa
call fcn.004a7fdc
cmp byte [esp + 0x1b], 0
je 0x4b5e5f
push 2
pop ecx
xor esi, esi
inc esi
mov edx, esi
call fcn.00423cc6
lea edx, [esp + 0x58]
lea ecx, [esp + 0x1c]
mov byte [eax], 1
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov dword [edx + 0xc], esi
mov dword [edx], 8
call fcn.004a7fdc
mov eax, dword [ebx + 0xb4]
mov esi, dword [eax + 0x50]
mov dword [esp + 0x28], eax
test esi, esi
je 0x4b5f6a
mov eax, dword [esp + 0x28]
mov ecx, esi
mov ebx, dword [eax + 0x4c]
call fcn.004a07f4
lea edi, [esp + 0x1b0]
mov dword [edi], eax
mov dword [edi + 4], edx
and dword [edi + 8], 0
mov ecx, edi
mov edx, esi
call fcn.004a0844
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [esp + 0x10], eax
imul eax, esi, 0xc
shl edi, 3
mov esi, dword [esp + 0x10]
test eax, eax
je 0x4b5ecb
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
add ebx, 0xc
add eax, 0xfffffff4
mov dword [esi + edi], ecx
mov dword [esi + edi + 4], edx
add edi, 8
jmp 0x4b5eaf
lea eax, [esp + 0x5c]
and dword [eax], 0
mov dword [eax + 4], 4
and dword [eax + 8], 0
mov eax, dword [esp + 0x10]
test edi, edi
je 0x4b5f44
lea ecx, [eax + 8]
mov ebx, dword [eax + 4]
xor edx, edx
mov dword [esp + 4], ecx
mov ecx, dword [eax]
mov dword [esp + 8], ecx
mov ecx, ebx
call fcn.00494904
mov dword [esp + 0xc], eax
mov esi, edx
push ebx
push dword [esp + 0xc]
push edx
call fcn.005010b0
add esp, 0xc
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x100]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x108], ebx
call fcn.004a79fa
mov eax, dword [esp + 4]
add edi, 0xfffffff8
jmp 0x4b5ee1
lea edx, [esp + 0x58]
lea ecx, [esp + 0x1c]
mov dword [edx], 5
call fcn.004a7fdc
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x10]
call fcn.004a28b3
mov ebx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov eax, dword [edx + 8]
sub edi, esi
imul ecx, eax, 0x1c
cmp edi, eax
mov edi, dword [edx + 4]
mov dword [esp + 0x34], ecx
jae 0x4b5fa1
mov edx, esi
lea esi, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.004a2786
pop ecx
mov ecx, eax
call fcn.00403850
mov esi, dword [esi + 8]
mov eax, dword [esp + 0x20]
add dword [esp + 0x34], edi
mov dword [esp + 0x44], eax
cmp edi, dword [esp + 0x34]
je 0x4b68ea
mov eax, dword [edi]
mov dword [esp + 4], edi
mov dword [esp + 0x10], esi
mov eax, dword [eax*4 + 0x4b7330]
add eax, dword [esp + 0x48]
jmp eax
mov eax, dword [esp + 0x28]
cmp dword [ebx + 0x88], 0x3b9aca00
mov dword [esp + 0x24], esi
lea ecx, [eax + 8]
je 0x4b696b
mov esi, dword [ebx + 0x34]
test esi, esi
je 0x4b696b
mov edi, dword [ebx + 0x30]
cmp byte [ebx + 0x78], 2
jne 0x4b6eff
mov dword [esp + 4], edi
mov edi, dword [ebx + 0x80]
mov ebx, dword [ebx + 0x84]
push 5
pop edx
call fcn.004b583d
mov cl, 1
test al, al
mov dword [esp + 8], ecx
je 0x4b699e
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4b699e
cmp eax, 1
jne 0x4b7172
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x58]
mov ecx, dword [ecx]
mov eax, dword [edx]
mov al, byte [eax + 0x58]
cmp al, byte [ecx + 0x58]
jne 0x4b699e
mov eax, edx
mov dword [esp + 8], 0
jmp 0x4b717e
push 5
pop edx
call fcn.004b583d
mov cl, 1
test al, al
mov dword [esp + 8], ecx
jne 0x4b6987
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x5c], 2
jne 0x4b699e
lea edx, [esp + 0x58]
and dword [edx + 8], 0
mov dword [edx], 4
lea ecx, [esp + 0x1c]
call fcn.004a7fdc
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
test esi, esi
je 0x4b69cc
lea ebx, [esi*4]
push 2
pop edx
mov edi, ecx
mov ecx, ebx
call fcn.00420dff
mov ecx, edi
test eax, eax
mov dword [esp + 4], eax
jne 0x4b69d3
jmp 0x4b6a56
push 2
pop eax
mov dword [esp + 4], eax
mov dword [esp + 0xc], esi
imul esi, esi, 0x1c
xor ebx, ebx
test esi, esi
je 0x4b69fd
lea edi, [ecx + 0x1c]
call fcn.004a0648
mov ecx, dword [esp + 4]
add esi, 0xffffffe4
mov word [ecx + ebx*4], ax
mov word [ecx + ebx*4 + 2], dx
inc ebx
mov ecx, edi
jmp 0x4b69dc
mov esi, dword [ebp + 0x1c]
mov ecx, dword [esi + 0xb8]
mov edx, dword [esi + 0xbc]
call fcn.004a1956
mov eax, dword [esp + 0xc]
mov dword [esi + 0xb8], eax
mov eax, dword [esp + 4]
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov eax, dword [esi + 0xb4]
mov edi, dword [eax + 0x34]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x4b6a60
lea ebx, [eax*4]
push 2
pop edx
mov ecx, ebx
mov esi, eax
call fcn.00420dff
mov ecx, eax
mov eax, esi
test ecx, ecx
jne 0x4b6a63
push 2
pop edx
mov ecx, ebx
jmp 0x4b72c9
push 2
pop ecx
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
and dword [esp + 0x1ac], 0
shl eax, 3
xor esi, esi
test eax, eax
je 0x4b6aae
lea edx, [edi + 8]
mov ebx, ecx
mov ecx, dword [edi]
mov dword [esp + 4], edx
mov edx, dword [edi + 4]
mov edi, eax
call fcn.004a0634
mov word [ebx + esi*4], ax
mov eax, edi
mov edi, dword [esp + 4]
mov word [ebx + esi*4 + 2], dx
mov ecx, ebx
inc esi
add eax, 0xfffffff8
jmp 0x4b6a7e
lea ebx, [esp + 0x1a4]
mov dword [ebx + 8], esi
sub esp, 4
mov ecx, ebx
mov edx, 0xba
call fcn.004a8c3c
pop eax
mov ecx, dword [ebp + 0x1c]
lea eax, [esp + 0x78]
movsd xmm0, qword [ecx + 0x18]
movsd xmm1, qword [ecx + 8]
lea esi, [ecx + 0x90]
movsd qword [eax - 8], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [eax - 0x18], xmm1
movsd qword [eax - 0x10], xmm0
movsd xmm0, qword [ecx]
movsd qword [eax - 0x20], xmm0
push 9
pop ecx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 8]
movsd xmm0, qword [ebx]
mov dword [eax + 0x2c], ecx
movsd qword [eax + 0x24], xmm0
push 2
pop ecx
xor ebx, ebx
inc ebx
mov edx, ebx
call fcn.00423cc6
mov byte [eax], 0
lea edx, [esp + 0x1b0]
movsd xmm0, qword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
movsd qword [edx + 0x5c], xmm0
mov dword [edx + 0x64], ecx
push 0x14
pop ecx
lea esi, [esp + 0x58]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [edx + 0x6c], 1
mov dword [edx + 0x50], ebx
mov dword [edx + 0x54], eax
mov dword [edx + 0x58], ebx
mov word [edx + 0x68], 4
cmp byte [esp + 8], 0
je 0x4b6b6d
mov dword [esp + 8], 0
jmp 0x4b6d5a
mov eax, dword [ebp + 0x1c]
lea esi, [esp + 0x1b0]
lea ecx, [esp + 0x220]
mov edx, esi
mov eax, dword [eax + 0x58]
mov edi, dword [eax]
mov dword [esp + 8], eax
call fcn.004a3ca0
mov eax, dword [esi + 0x68]
add eax, 0xfffffff6
cmp ax, 0x14
ja 0x4b6ba0
cmp ax, 1
jne 0x4b6c04
mov ecx, dword [esp + 0x214]
lea eax, [ecx - 1]
imul edx, eax, 0x1c
xor eax, eax
add edx, dword [esp + 0x210]
cmp ecx, 1
cmovae eax, edx
jb 0x4b6c04
cmp dword [eax], 9
jne 0x4b6c04
and dword [esp + 0x58], 0
mov dword [esp + 0x5c], 1
and dword [esp + 0x60], 0
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
lea eax, [esp + 0x58]
push eax
call fcn.004a66ec
pop eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
call fcn.004c2719
mov eax, dword [esp + 0x228]
cmp eax, esi
jae 0x4b6c0d
jmp 0x4b6c16
mov eax, dword [esp + 0x228]
xor esi, esi
sub eax, esi
mov dword [esp + 0x228], eax
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x224]
lea ecx, [esp + 0x320]
mov edx, dword [esi + 4]
push eax
mov dword [esp + 8], ebx
push ebx
push edi
push dword [esi + 8]
call fcn.004b7378
add esp, 0x10
mov eax, dword [ebp + 0x1c]
mov edx, dword [esp + 8]
lea ebx, [esp + 0x58]
mov ecx, ebx
push dword [eax + 0x40]
push dword [eax + 0x3c]
call fcn.004b741f
pop eax
pop ecx
mov esi, dword [ebx + 0xa0]
lea edi, [esp + 0x268]
mov ecx, edi
mov edx, dword [esi]
push 0
push str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
call fcn.00496008
pop eax
pop ecx
mov eax, dword [edi + 0x40]
mov esi, dword [esi]
mov ecx, edi
mov edx, dword [eax + 0x40]
push 0x552584
call fcn.004a21a9
pop ecx
mov edi, edx
lea ecx, [esp + 0x100]
mov edx, ebx
push edi
push eax
push 0
push esi
call fcn.004bad19
add esp, 0x10
mov edx, dword [ebx + 0xa0]
lea eax, [esp + 0x320]
lea ecx, [esp + 0x268]
push eax
lea eax, [esp + 0x104]
push eax
call fcn.004ba11f
pop eax
pop ecx
mov eax, dword [esp + 0x218]
add eax, 0xfffffff6
cmp ax, 0x14
ja 0x4b6cdd
cmp ax, 1
jne 0x4b6d0d
lea ecx, [esp + 0x268]
call fcn.004a2197
mov edi, dword [esp + 0x214]
xor ebx, ebx
mov esi, eax
lea ecx, [edi - 1]
imul ecx, ecx, 0x1c
add ecx, dword [esp + 0x210]
cmp edi, 1
cmovae ebx, ecx
jae 0x4b6f4f
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x220]
call fcn.004c2719
lea esi, [esp + 0xa4]
mov eax, dword [esi - 4]
mov dword [esp + 4], eax
push 0x17
pop ecx
lea edi, [esp + 0x2c4]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x104]
push 0x12
pop ecx
lea esi, [esp + 0x58]
rep movsd dword es:[edi], dword [esi]
push 0x13
pop ecx
lea edi, [esp + 0x3bc]
lea esi, [esp + 0x100]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [ebp + 0x1c]
push 0x1c
pop ecx
lea edx, [esp + 0x58]
lea esi, [esp + 0x1b0]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x408]
mov ecx, esi
call fcn.004ae154
xor eax, eax
cmp dword [esp + 0x30], 0
mov edi, dword [ebp + 0x20]
setne al
lea eax, [eax + eax + 2]
mov word [esi + 0x7c], ax
je 0x4b6da1
lea ecx, [ebx + 0xd9]
mov edx, edi
call fcn.004b7492
mov ecx, dword [esp + 0x2c]
lea esi, [esp + 0x408]
mov edx, esi
call fcn.004b74c1
mov ecx, edi
mov edx, esi
push 0
call fcn.004aec1f
pop eax
cmp dword [esp + 8], 0
je 0x4b6ece
push 0x13
pop ecx
lea edi, [esp + 0x320]
lea esi, [esp + 0x3bc]
lea eax, [esp + 0x324]
rep movsd dword es:[edi], dword [esi]
push 0x12
pop ecx
lea edx, [esp + 0x58]
mov esi, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0xa4]
mov ecx, dword [esp + 4]
mov dword [edx + 0x48], ecx
mov edx, ecx
push 0x17
pop ecx
lea esi, [esp + 0x2c4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x24]
movzx ecx, byte [ecx + 4]
dec ecx
cmp ecx, 1
ja 0x4b6edb
mov eax, dword [ebx + 0xb4]
lea esi, [ebx + 0xd9]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
call fcn.004b5831
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0x20]
mov ecx, esi
mov dword [esp + 4], eax
call fcn.004b7492
mov eax, dword [esp + 0x2c]
lea esi, [esp + 0x220]
mov ecx, esi
mov edx, dword [eax + 4]
push 0
push str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
mov edi, dword [esp + 0x10]
push dword [edi]
push dword [eax + 8]
call fcn.004b7378
add esp, 0x10
mov eax, dword [esi + 0x40]
mov ecx, esi
mov edx, dword [eax + 0x40]
push 0x552584
call fcn.004a21a9
pop ecx
lea edi, [esp + 0x58]
mov esi, edx
lea ecx, [esp + 0x100]
mov edx, edi
push ebx
push dword [esp + 0x10]
push dword [esp + 0xc]
push esi
mov esi, dword [ebp + 0x20]
push eax
push 1
call fcn.004baea7
add esp, 0x18
cmp byte [esi + 0xad], 0
mov ecx, dword [edi + 0xa0]
lea edx, [esp + 0x100]
je 0x4b6fa9
push esi
call fcn.004b909b
jmp 0x4b6faf
mov dword [esp + 4], 0
jmp 0x4b700d
push 0x12
pop ecx
lea edi, [esp + 0x220]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
push 0x17
pop ecx
lea edi, [esp + 0x100]
lea esi, [esp + 0x2c4]
jmp 0x4b6fe1
push 4
pop edx
call fcn.004b583d
mov cl, 1
test al, al
mov dword [esp + 8], ecx
je 0x4b699e
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x5c], 2
jne 0x4b699e
mov ecx, esi
xor edx, edx
call fcn.00494904
mov ecx, edi
mov edi, eax
mov ebx, edx
push esi
push ecx
push edx
call fcn.005010b0
add esp, 0xc
lea edx, [esp + 0x58]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
jmp 0x4b698f
mov edi, edx
cmp dword [ebx], 9
mov edx, dword [esp + 4]
jne 0x4b6d11
mov ecx, edi
xor edx, edx
call fcn.00494904
mov dword [esp + 4], eax
mov eax, esi
mov esi, edx
push edi
push eax
push edx
call fcn.005010b0
add esp, 0xc
cmp dword [ebx + 0x18], 0
je 0x4b729d
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
call fcn.004c2719
mov eax, dword [esp + 4]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
mov edx, dword [esp + 0x224]
jmp 0x4b6d11
push esi
call fcn.004b9109
pop eax
mov eax, esi
lea ebx, [esp + 0xa4]
mov byte [esi + 0xb1], 1
push 0x12
pop ecx
lea eax, [esp + 0x58]
lea edi, [esp + 0x220]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov edx, dword [eax + 0x48]
push 0x17
pop ecx
lea edi, [esp + 0x100]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 4], edx
push 0x12
pop ecx
lea edi, [esp + 0x370]
lea esi, [esp + 0x220]
rep movsd dword es:[edi], dword [esi]
push 0x17
pop ecx
lea edi, [esp + 0x268]
lea esi, [esp + 0x100]
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x30], 0
lea esi, [esp + 0x488]
setne bl
push 0xe0
push dword [ebp + 0x1c]
push esi
call fcn.005010b0
add esp, 0xc
mov eax, dword [esp + 0x2c]
lea edi, [esp + 0x578]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0xe0], xmm0
movsd qword [esi + 0xe8], xmm1
push 0x12
pop ecx
lea esi, [esp + 0x370]
rep movsd dword es:[edi], dword [esi]
mov al, byte [esp + 0x1b]
xor al, 1
push 8
pop edx
or al, bl
jne 0x4b70f4
mov ecx, 0x258
call fcn.00423cc6
mov ebx, eax
push 0x138
lea eax, [esp + 0x48c]
push eax
push ebx
call fcn.005010b0
add esp, 0xc
mov eax, dword [esp + 4]
lea edi, [ebx + 0x13c]
mov dword [ebx + 0x138], eax
push 0x17
pop ecx
lea esi, [esp + 0x268]
lea eax, [ebx + 0x198]
rep movsd dword es:[edi], dword [esi]
push 0xa8
push dword [ebp + 8]
push eax
call fcn.005010b0
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov edx, 0x553e60
mov dword [ebx + 0x240], eax
mov eax, dword [ebp + 0x18]
mov dword [ebx + 0x244], eax
mov eax, dword [ebp + 0xc]
movsd xmm0, qword [eax]
movsd qword [ebx + 0x248], xmm0
mov eax, dword [eax + 8]
mov dword [ebx + 0x250], eax
jmp 0x4b7168
mov ecx, 0x248
call fcn.00423cc6
mov ebx, eax
push 0x138
lea eax, [esp + 0x48c]
push eax
push ebx
call fcn.005010b0
add esp, 0xc
mov eax, dword [esp + 4]
lea edi, [ebx + 0x13c]
mov dword [ebx + 0x138], eax
push 0x17
pop ecx
lea esi, [esp + 0x268]
lea eax, [ebx + 0x198]
rep movsd dword es:[edi], dword [esi]
push 0xa8
push dword [ebp + 8]
push eax
call fcn.005010b0
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov dword [ebx + 0x240], eax
mov dword [ebx + 0x244], ecx
mov ecx, dword [ebp + 0xc]
call fcn.004a1813
mov edx, 0x553e84
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0x1c]
mov cl, 1
mov dword [esp + 8], ecx
mov eax, dword [eax + 0x58]
mov ecx, dword [ebp + 0x20]
xor edx, edx
mov dword [esp + 0xc], eax
inc edx
cmp byte [esp + 8], 0
mov dword [ecx + 0x30], edx
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp + 0x24]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
je 0x4b71db
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x54]
test eax, eax
je 0x4b71db
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x61], 0
je 0x4b71db
mov ecx, dword [ebp + 0x24]
cmp byte [ecx + 4], 0
jne 0x4b730d
mov byte [ecx + 4], 1
mov dword [ecx], eax
lea edx, [esp + 0x58]
lea ecx, [esp + 0x1c]
mov dword [edx], 0x10
call fcn.004a7fdc
xor edx, edx
inc edx
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov dword [esp + 8], 0
sub edi, dword [eax + 0x20]
sbb ebx, dword [eax + 0x24]
mov ebx, edx
cmovb edi, ecx
imul ecx, edi, 0x3e8
add ecx, dword [eax + 0x50]
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x40]
mov dword [esp + 0xc], ecx
call fcn.00494904
mov dword [esp + 0x14], edx
mov ecx, esi
xor edx, edx
mov dword [esp + 0x10], eax
call fcn.00494904
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
push esi
push dword [esp + 8]
push edx
call fcn.005010b0
add esp, 0xc
push 0x10
pop ecx
push 4
pop edx
call fcn.00423cc6
mov edi, eax
mov eax, dword [esp + 0x34]
mov dword [edi], eax
mov eax, dword [esp + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x44]
mov dword [edi + 8], eax
mov dword [edi + 0xc], esi
push 0xc
pop ecx
push 4
pop edx
call fcn.00423cc6
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
lea edx, [esp + 0x58]
mov dword [edx + 4], ebx
mov dword [edx + 8], edi
mov dword [edx + 0xc], ebx
mov dword [edx + 0x10], ebx
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], ebx
mov dword [edx], 9
jmp 0x4b6995
xor ecx, ecx
xor edx, edx
push 0x5529e0
call fcn.0050d500
pop eax
ud2
call fcn.0050d210
ud2
push 0x30
pop edx
mov ecx, 0x553e12
push 0x553e44
call fcn.0050d590
jmp 0x4b72ab
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x5529ac
push 0x5523a4
lea eax, [esp + 0x60]
push eax
call fcn.0050d740
add esp, 0xc
ud2
and dword [esp + 0x60], 0
add ecx, 4
mov edx, 0x580949
push 0x553c98
lea eax, [esp + 0x5c]
push eax
call fcn.0050f171
pop eax
pop ecx
ud2