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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x178
mov ebx, ecx
mov ecx, dword [esp + 0x18c]
lea eax, [esp + 0x140]
lea esi, [esp + 0x34]
mov dword [eax], edx
mov edx, eax
mov dword [eax + 4], ecx
and dword [eax + 8], 0
mov ecx, esi
call fcn.00490205
mov eax, dword [esi + 4]
test eax, eax
je 0x4e672f
cmp byte [esp + 0x34], 0x30
jne 0x4e672f
lea esi, [esp + 0x34]
lea edx, [esp + 0x108]
mov ecx, dword [esi + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
and dword [edx + 8], 0
mov ecx, esi
call fcn.00490205
mov edi, dword [esi + 4]
test edi, edi
je 0x4e672f
cmp byte [esp + 0x34], 0x30
jne 0x4e672f
mov eax, dword [esp + 0x110]
cmp dword [esp + 0x10c], eax
mov dword [esp + 4], eax
jb 0x4e694e
lea edx, [esp + 0x108]
lea esi, [esp + 0x34]
mov eax, dword [edx]
mov ebp, dword [esi + 8]
mov ecx, esi
mov dword [esp], eax
call fcn.00490205
mov eax, dword [esi + 4]
test eax, eax
je 0x4e672f
cmp byte [esp + 0x34], 0x30
jne 0x4e672f
lea esi, [esp + 0x34]
mov dword [esp + 0x24], eax
lea edx, [esp + 0x108]
mov eax, dword [esi + 8]
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.004e5bdc
mov esi, dword [esi]
test esi, esi
je 0x4e6742
mov eax, dword [esp + 0x110]
cmp eax, dword [esp + 0x10c]
jne 0x4e672f
mov eax, dword [esp + 0x148]
cmp eax, dword [esp + 0x144]
jne 0x4e672f
lea ecx, [esp + 0x34]
lea edx, [esp + 0x14]
mov eax, dword [ecx + 4]
mov dword [edx], edi
mov dword [edx + 4], ebp
and dword [edx + 8], 0
mov edi, ecx
mov dword [esp + 0xa0], eax
call fcn.00490205
mov eax, dword [edi + 4]
mov cl, 0xf
test eax, eax
je 0x4e674a
cmp byte [esp + 0x34], 0xa0
jne 0x4e674a
lea ecx, [esp + 0x34]
mov edx, dword [ecx + 8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
and dword [ecx + 8], 0
call fcn.004e5bbe
cmp dl, 2
push 0x15
pop ecx
push 0xf
pop edi
cmove edi, ecx
test al, 1
movzx eax, dl
cmove eax, edi
cmp al, 0x15
jne 0x4e6748
mov eax, dword [esp + 0x3c]
mov cl, 0xf
cmp eax, dword [esp + 0x38]
jne 0x4e674a
lea ecx, [esp + 0x14]
call fcn.004e5c42
mov ecx, eax
cmp al, 0x15
jne 0x4e674a
lea edi, [esp + 0x34]
lea edx, [esp + 0x14]
mov ecx, edi
call fcn.00490205
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4e674e
cmp byte [esp + 0x34], 0x30
jne 0x4e674e
mov edx, dword [esp + 0x3c]
push dword [esp + 0x20]
push dword [esp + 0x28]
call fcn.0049080f
pop ecx
pop edx
mov cl, 0xc
test al, al
jne 0x4e674a
lea edi, [esp + 0x34]
lea edx, [esp + 0x14]
mov ecx, edi
call fcn.00490205
mov eax, dword [edi + 4]
test eax, eax
je 0x4e674e
cmp byte [esp + 0x34], 0x30
jne 0x4e674e
lea edi, [esp + 0x34]
mov ebp, eax
lea edx, [esp + 0x14]
mov eax, dword [edi + 8]
mov ecx, edi
mov dword [esp + 0x9c], eax
call fcn.00490205
mov edi, dword [edi + 4]
test edi, edi
je 0x4e674e
cmp byte [esp + 0x34], 0x30
jne 0x4e674e
lea ecx, [esp + 0x34]
lea edx, [esp + 0x14]
mov eax, dword [ecx + 8]
mov dword [esp + 0x98], eax
call fcn.00490205
lea eax, [esp + 0x34]
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x94], eax
je 0x4e674e
cmp byte [esp + 0x34], 0x30
jne 0x4e674e
lea ecx, [esp + 0x34]
lea edx, [esp + 0x14]
mov eax, dword [ecx + 8]
mov dword [esp + 0x90], eax
call fcn.00490205
lea eax, [esp + 0x34]
mov eax, dword [eax + 4]
test eax, eax
je 0x4e674e
cmp byte [esp + 0x34], 0x30
jne 0x4e674e
mov edx, dword [esp]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], esi
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x190]
mov dword [esp + 0x68], edx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x1c]
and dword [esp + 0x34], 0
and dword [esp + 0x3c], 0
and dword [esp + 0x44], 0
and dword [esp + 0x4c], 0
cmp ecx, dword [esp + 0x18]
jne 0x4e6752
xor edx, edx
lea esi, [esp + 0x58]
movsd xmm0, qword [esi - 0xc]
movsd xmm1, qword [esi - 0x13]
movsd xmm2, qword [esi - 0x23]
movsd qword [esp + 0xf3], xmm0
movsd qword [esp + 0xec], xmm1
movsd xmm1, qword [esi - 0x1b]
movsd qword [esp + 0xdc], xmm2
movsd qword [esp + 0xe4], xmm1
push 0xe
pop ecx
lea edi, [esp + 0x108]
rep movsd dword es:[edi], dword [esi]
cmp dword [esp], 0
je 0x4e6963
movsd xmm0, qword [esp + 0xf3]
movsd xmm1, qword [esp + 0xec]
movsd xmm2, qword [esp + 0xdc]
movsd qword [esp + 0xd3], xmm0
movsd qword [esp + 0xcc], xmm1
movsd xmm1, qword [esp + 0xe4]
movsd qword [esp + 0xbc], xmm2
movsd qword [esp + 0xc4], xmm1
push 0xe
pop ecx
lea edi, [esp + 0x140]
lea esi, [esp + 0x108]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x18]
jne 0x4e6971
movsd xmm0, qword [esp + 0xd3]
movsd xmm1, qword [esp + 0xcc]
movsd xmm2, qword [esp + 0xbc]
lea edi, [ebx + 0x24]
movsd qword [ebx + 0x18], xmm0
movsd qword [ebx + 0x11], xmm1
movsd xmm1, qword [esp + 0xc4]
movsd qword [ebx + 1], xmm2
movsd qword [ebx + 9], xmm1
push 0xe
pop ecx
lea esi, [esp + 0x140]
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], dl
mov eax, dword [esp]
mov dword [ebx + 0x20], eax
jmp 0x4e6737
xor eax, eax
mov byte [ebx], al
and dword [ebx + 0x20], 0
add esp, 0x178
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [esp + 0x38]
jmp 0x4e6731
mov ecx, eax
mov byte [ebx], cl
jmp 0x4e6733
xor ecx, ecx
jmp 0x4e674a
lea edi, [esp + 8]
lea edx, [esp + 0x14]
mov ecx, edi
call fcn.00490205
mov eax, dword [edi + 4]
test eax, eax
je 0x4e696a
cmp byte [esp + 8], 0xa3
mov cl, 0x10
mov dword [esp], ecx
jne 0x4e6980
lea edi, [esp + 8]
lea edx, [esp + 0xfc]
mov ecx, dword [edi + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
and dword [edx + 8], 0
mov ecx, edi
call fcn.00490205
mov eax, dword [edi + 4]
test eax, eax
je 0x4e6979
cmp byte [esp + 8], 0x30
jne 0x4e6979
lea edi, [esp + 8]
lea edx, [esp + 0xb0]
mov ecx, dword [edi + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
and dword [edx + 8], 0
mov ecx, edi
lea edx, [esp + 0xb0]
call fcn.00490205
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4e6979
cmp byte [esp + 8], 0x30
jne 0x4e6979
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
mov dword [esp + 0x2c], ecx
and dword [esp + 0x30], 0
mov ecx, edi
call fcn.00490205
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4e6979
cmp byte [esp + 8], 6
jne 0x4e6979
mov ebp, dword [esp + 0x10]
lea ecx, [esp + 0x28]
call fcn.004e5b3c
test al, 1
mov byte [esp + 4], dl
jne 0x4e689b
mov ecx, edi
lea edx, [esp + 0x28]
call fcn.00490205
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4e6979
cmp byte [esp + 8], 4
jne 0x4e6979
mov al, 1
cmp ebp, 3
jne 0x4e690a
cmp word [esi], 0x1d55
jne 0x4e690a
movzx ebp, byte [esi + 2]
mov edx, dword [esp + 0x10]
cmp ebp, 0x25
je 0x4e68a7
cmp ebp, 0x11
lea esi, [esp + 0x4c]
je 0x4e68ab
cmp ebp, 0x13
lea esi, [esp + 0x34]
je 0x4e68ab
cmp ebp, 0x1e
lea esi, [esp + 0x44]
je 0x4e68ab
cmp ebp, 0xf
je 0x4e6908
jmp 0x4e690a
cmp byte [esp + 4], 0x15
je 0x4e691a
jmp 0x4e6988
lea esi, [esp + 0x3c]
cmp dword [esi], 0
jne 0x4e6992
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
and dword [esp + 0xac], 0
mov ecx, edi
lea edx, [esp + 0xa4]
call fcn.00490205
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4e6979
cmp byte [esp + 8], 0x30
jne 0x4e6979
mov ecx, dword [esp + 0xac]
cmp ecx, dword [esp + 0xa8]
jne 0x4e6979
mov ecx, dword [esp + 0x10]
mov dword [esi], eax
mov dword [esi + 4], ecx
xor eax, eax
test byte [esp + 4], al
jne 0x4e698e
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x2c]
jne 0x4e6979
mov eax, dword [esp + 0xb8]
cmp eax, dword [esp + 0xb4]
jne 0x4e67c7
mov eax, dword [esp + 0x104]
cmp eax, dword [esp + 0x100]
jne 0x4e6980
mov dl, byte [esp + 0x34]
mov eax, dword [esp + 0x54]
mov dword [esp], eax
jmp 0x4e6623
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x56e118
call fcn.0050af40
pop eax
ud2
mov ecx, edx
jmp 0x4e674a
mov al, 0x10
mov dword [esp], eax
jmp 0x4e6980
mov byte [ebx], 0
jmp 0x4e6733
mov dword [esp], 0
mov ecx, dword [esp]
jmp 0x4e674a
mov al, byte [esp + 4]
jmp 0x4e696c
mov al, 0x11
jmp 0x4e696c
mov al, 7
jmp 0x4e696c