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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb8
mov esi, edx
mov edi, dword [esp + 0xd0]
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xd8]
and dword [edx + 8], 0
and dword [edx + 0x24], 0
mov dword [edx + 0x38], eax
and dword [edx + 0x54], 0
mov dword [edx + 0x68], eax
mov ebx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
cmp ebx, edx
mov dword [esp + 0x88], edx
call 0x49d58f
pop edx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x44], edx
jbe 0x49d5a2
and dword [ecx], 0
jmp 0x4a1188
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x5c], ecx
cmp ebx, 0xffffffff
je 0x4a122f
mov eax, dword [edi + 8]
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esp + 8], eax
mov al, byte [esi + 0x14]
mov dword [esp + 0x48], ecx
cmp al, 2
setne byte [esp + 0x33]
test al, 1
sete byte [esp + 0x50]
push dword [edi + 4]
call fcn.0049c609
pop ecx
cmp al, 2
mov dword [esp + 0x8c], edx
jne 0x49d5f2
mov eax, dword [esp + 0x5c]
and dword [eax], 0
jmp 0x4a1188
mov edx, dword [esp + 0x5c]
test al, 1
mov dword [esp + 0x80], 0
mov byte [esp + 0x43], al
jne 0x49d62c
cmp byte [esi + 0x10], 3
lea eax, [esi + 4]
mov ecx, 0x5d0618
cmovne ecx, eax
xor ebp, ebp
mov al, byte [esp + 0x43]
cmp byte [ecx + 0xc], 2
cmovne ebp, ecx
mov dword [esp + 0x80], ebp
and al, 1
mov cl, byte [esp + 0x50]
mov dword [esp + 4], ebx
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0xcc]
and byte [esp + 0x33], cl
lea ecx, [eax + 0xc]
mov dword [esp + 0x84], ecx
lea ecx, [eax + 0x58]
mov dword [esp + 0x74], ecx
lea ecx, [eax + 0x3c]
mov dword [esp + 0x90], ecx
mov cl, byte [edi + 0x18]
mov edi, eax
add eax, 0x28
mov dword [esp + 0x6c], eax
mov eax, dword [esi]
xor esi, esi
mov byte [esp + 0x42], cl
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x50], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x88]
ja 0x4a1178
cmp dword [edi + 0x24], 0
je 0x49d69f
mov ebp, ebx
mov ebx, dword [esp + 0xc]
jmp 0x49d700
mov ecx, dword [esp + 0xc]
test esi, esi
sete al
cmp ecx, dword [esp + 0x70]
seta cl
test byte [esp + 0x5b], cl
jne 0x4a1178
or al, byte [esp + 0x33]
je 0x4a1178
mov eax, dword [esp + 0x80]
test eax, eax
je 0x49d697
mov edx, dword [eax]
lea ecx, [esp + 0x18]
push dword [esp + 0x88]
push dword [esp + 0x10]
push ebx
push dword [esp + 0x14]
push dword [eax + 4]
call fcn.0048ac35
add esp, 0x14
cmp dword [esp + 0x18], 0
je 0x4a1174
mov ebp, ebx
mov ebx, dword [esp + 0x1c]
test byte [esp + 0x43], 1
mov ah, byte [esp + 0x33]
mov dword [esp + 0x94], esi
mov dword [esp + 0x10], ebx
sete al
test esi, esi
not ah
setne dl
cmp ebx, dword [esp + 0x70]
sete cl
test ah, dl
jne 0x49e4bb
or al, cl
je 0x49e4bb
mov edx, dword [edi + 0x60]
mov ecx, dword [edi + 0x5c]
mov eax, edx
sub eax, dword [edi + 0x68]
push 0x5d24e4
push edx
push eax
call fcn.0049c703
add esp, 0xc
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x60], eax
mov dword [esp + 0x1c], ecx
and dword [esp + 0x18], 0
mov ecx, edi
call fcn.0049c645
lea eax, [ebx + 1]
lea ecx, [ebx - 1]
mov ebx, ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x38], ecx
mov edi, dword [esp + 0xcc]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x49e4c4
dec ecx
mov dword [edi + 8], ecx
imul ecx, ecx, 0xc
mov eax, dword [edi + 4]
mov edx, dword [eax + ecx]
mov ebp, dword [eax + ecx + 4]
test edx, edx
je 0x49d7d0
cmp edx, 2
je 0x49e4c4
add eax, ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
mov edi, dword [eax + 8]
push 0x5d2440
push ebp
call fcn.00485a89
pop ecx
pop edx
mov dword [eax], edi
jmp 0x49d782
mov eax, dword [edi + 0x24]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x3c], ebp
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
push 0x5d36d8
push ebp
call fcn.00478a1b
pop ecx
pop edx
mov eax, dword [eax]
mov esi, dword [esp + 0x14]
cmp eax, esi
jae 0x49d81f
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
push 0x5d36e8
push eax
call fcn.00478a1b
mov esi, dword [esp + 0x1c]
add esp, 8
cmp dword [eax], ebp
je 0x49d782
mov edx, dword [edi + 0x14]
mov dword [esp + 0x54], esi
cmp esi, edx
jae 0x4a119f
mov ecx, dword [edi + 0x10]
push 0x5d36b8
push esi
call fcn.00478a1b
pop ecx
pop edx
mov dword [eax], ebp
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
push 0x5d36c8
push dword [esp + 0x40]
call fcn.00478a1b
pop ecx
pop edx
mov ecx, dword [esp + 0x50]
mov dword [eax], esi
inc esi
mov edx, ebp
mov dword [esp + 0x14], esi
mov dword [edi + 0x24], esi
call fcn.0048549d
mov ecx, dword [eax]
mov ecx, dword [ecx*4 + 0x4a125c]
add ecx, dword [esp + 0x44]
jmp ecx
lea eax, [ebx + 1]
mov dword [esp + 0xc], eax
jmp 0x49e4ca
mov ebp, ebx
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
call fcn.0048927a
mov dword [esp + 0x60], eax
lea eax, [ebx + 2]
xor ecx, ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x9c]
je 0x4a10e8
mov esi, dword [eax]
mov ecx, dword [esp + 0x50]
add eax, 4
mov dword [esp + 0x60], eax
mov edx, esi
call fcn.0048549d
mov edi, eax
mov eax, dword [eax]
mov eax, dword [eax*4 + 0x4a12a0]
add eax, dword [esp + 0x44]
jmp eax
test byte [esp + 0x98], 1
je 0x4a110a
cmp byte [esp + 0x42], 0
jne 0x4a1162
mov eax, dword [esp + 0x7c]
xor esi, esi
mov dword [esp + 0x64], ebx
inc esi
mov dword [esp + 0x68], eax
jmp 0x4a112d
cmp byte [esp + 0x42], 0
mov eax, dword [esp + 0x94]
mov esi, 0
cmove esi, eax
je 0x4a112d
mov edi, dword [esp + 0xcc]
test eax, eax
je 0x4a1134
jmp 0x4a1171
mov edi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x90]
mov ebx, ebp
call fcn.0049c6e2
and dword [edi + 0x54], 0
mov edx, dword [esp + 0x5c]
jmp 0x49d680
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x5c]
xor esi, esi
mov ecx, ebx
inc esi
jmp 0x4a1180
xor esi, esi
inc esi
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov dword [edx], esi
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
add esp, 0xb8
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x54]
lea eax, [esp + 0x78]
mov dword [esp + 0x18], ecx
mov ecx, fcn.0040547e
mov dword [eax], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], fcn.0047b6ed
mov dword [ecx], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
push 3
pop eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
lea edx, [esp + 0x18]
mov dword [ecx + 8], edx
mov edx, 0x5d36a8
mov dword [ecx + 0xc], eax
call fcn.0059a150
mov edx, ebx
push 0x5d2b40
call fcn.0059a1e0
mov edx, ebx
push 0x5d2b50
call fcn.0059a1e0
mov edx, ebx
push 0x5d2b60
call fcn.0059a1e0
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rs
push 0x5d3888
call fcn.0059a2a0
lea ecx, [esp + 0x18]
mov edx, 0x5d2410
mov dword [ecx], str.byte_slice_lengths_must_be_less_than_usize_MAX
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
and dword [ecx + 0xc], 0
call fcn.0059a150
ud2