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

Disassembly:
push 0xffffffffffffffff
push 0x51dff3
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov eax, dword [0x597f54]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov dword [esp + 0x30], ecx
mov ebp, dword [esp + 0x90]
xor edi, edi
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], edi
mov eax, dword [ebp]
mov edx, dword [eax + 0x20]
push ecx
push ebp
mov dword [esp + 0x78], 2
call edx
call fcn.004b4151
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4193a8
push 0x80004005
call fcn.004010bd
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x38], eax
xor eax, eax
cmp dword [esp + 0x34], edi
mov dword [esp + 0x3c], eax
jle 0x419a0a
mov dword [esp + 0x14], edi
mov ecx, dword [ebp]
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [ecx + 0x1c]
push ebp
mov byte [esp + 0x7c], 4
call eax
cmp dword [esp + 0x14], edi
je 0x4199ce
push 0x1c
call fcn.004b1a2e
add esp, 4
mov dword [esp + 0x28], eax
cmp eax, edi
mov byte [esp + 0x70], 5
je 0x419410
mov ecx, eax
call fcn.00417180
mov esi, eax
mov dword [esp + 0x28], esi
jmp 0x419416
mov dword [esp + 0x28], edi
mov esi, edi
mov ecx, dword [esp + 0x30]
push esi
add ecx, 0xc
mov byte [esp + 0x74], 4
call fcn.004c8f91
push edi
push str.MediaLabel
push ecx
mov ecx, dword [esp + 0x20]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
cmp eax, edi
mov dword [esp + 0x2c], esp
je 0x41944b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x88]
call fcn.0044e240
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
mov byte [esp + 0x70], 6
je 0x4194c5
push ecx
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
cmp eax, edi
mov dword [esp + 0x24], esp
je 0x419482
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x80]
call fcn.0044ebf0
push eax
mov ecx, esi
mov byte [esp + 0x74], 7
call fcn.00402e5a
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x70], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4194c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.Source
push ecx
mov ecx, dword [esp + 0x1c]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x28], esp
je 0x4194e7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x84]
call fcn.0044ecf0
lea ecx, [esi + 4]
push eax
mov byte [esp + 0x74], 8
call fcn.00402e5a
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x70], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41952b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.MediaSourceDuration
push ecx
mov ecx, dword [esp + 0x1c]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x28], esp
je 0x41954d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x84]
call fcn.0044ecf0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x74], 9
call fcn.00402e5a
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x70], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x419592
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004e5209
add esp, 4
push edi
mov dword [esi + 0x18], eax
mov edx, dword [esp + 0x18]
push str.Offsets
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [esp + 0x20]
cmp eax, edi
mov dword [esp + 0x2c], esp
je 0x4195c5
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x88]
call fcn.0044e240
mov esi, dword [eax]
mov ebx, dword [esp + 0x1c]
cmp ebx, esi
je 0x419602
cmp esi, edi
je 0x4195f0
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov ebx, dword [esp + 0x1c]
cmp ebx, edi
je 0x4195fc
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ebx
call ecx
mov ebx, esi
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x4c]
cmp eax, edi
je 0x419616
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ebx, dword [esp + 0x1c]
cmp ebx, edi
je 0x419963
mov dword [esp + 0x2c], edi
mov byte [esp + 0x70], 0xa
call dword [0x599428]
push edi
push edi
push 0xffffffffffffffff
push str.Offset
mov ebp, eax
push edi
push ebp
mov dword [esp + 0x38], edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea eax, [esi - 1]
push eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov edi, eax
test edi, edi
je 0x419681
push esi
push edi
push 0xffffffffffffffff
push str.Offset
push 0
push ebp
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x419681
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x20]
call fcn.00404d5c
xor edi, edi
jmp 0x41968a
lea ecx, [esp + 0x20]
call fcn.00404d5c
test edi, edi
mov dword [esp + 0x20], edi
je 0x419a7c
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x90]
lea edx, [esp + 0x2c]
push edx
push edi
push ebx
mov byte [esp + 0x7c], 0xb
call eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov byte [esp + 0x7c], 0xc
call eax
push 0x5311c4
push ecx
mov ecx, dword [esp + 0x2c]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x2c]
test eax, eax
mov dword [esp + 0x28], esp
je 0x4196f5
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x84]
call fcn.0044ecf0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
mov byte [esp + 0x74], 0xd
call fcn.004021f1
add eax, 0x10
add esp, 4
mov dword [esp + 0x20], eax
push str.Off_
lea ecx, [esp + 0x24]
mov byte [esp + 0x74], 0xe
call fcn.004127b4
mov esi, dword [esp + 0x20]
push 0x2d
push esi
call fcn.004e4ea8
add esp, 8
test eax, eax
jne 0x41974d
or eax, 0xffffffff
jmp 0x41974f
sub eax, esi
push eax
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x28]
call fcn.00402bb5
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x74], 0xf
call fcn.00402e5a
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x70], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419792
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
push 0x2d
push ecx
call fcn.004e4ea8
add esp, 8
test eax, eax
jne 0x4197aa
or eax, 0xffffffff
jmp 0x4197ae
sub eax, dword [esp + 0x18]
push eax
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x20]
call fcn.00402bb5
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 0x10
call fcn.00402e5a
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov byte [esp + 0x70], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4197f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.Off_Line
lea ecx, [esp + 0x1c]
call fcn.004127b4
push 2
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x20]
call fcn.004176c0
mov edx, dword [esp + 0x18]
mov eax, dword [edx - 0xc]
add eax, 0xfffffffe
push eax
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 0x11
call fcn.00402bb5
mov ebx, dword [esp + 0x58]
push 0xa
lea ecx, [esp + 0x60]
push ecx
push ebx
mov byte [esp + 0x7c], 0x12
call fcn.004e6fc8
mov ebp, dword [esp + 0x6c]
push 0xa
lea edx, [esp + 0x6c]
push edx
mov esi, eax
push ebp
imul esi, esi, 0x19
call fcn.004e6fc8
mov edi, dword [esp + 0x38]
add esp, 0x18
push eax
push esi
push ecx
add edi, 0xfffffff0
mov dword [esp + 0x70], esp
mov esi, esp
push edi
call fcn.004021f1
mov ecx, dword [esp + 0xa4]
add eax, 0x10
test ecx, ecx
mov dword [esi], eax
mov eax, esp
mov dword [esp + 0x74], esp
mov dword [eax], ecx
je 0x419892
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 4]
call ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x88]
push edx
call fcn.00418820
mov ecx, dword [esp + 0x28]
mov dword [ecx + 8], eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x70], 0x11
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4198cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebp, 0xfffffff0
mov byte [esp + 0x70], 0xe
lea ecx, [ebp + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4198ed
mov ecx, dword [ebp]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebp
call edx
mov byte [esp + 0x70], 0xd
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41990b
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x70], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419930
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
test eax, eax
mov byte [esp + 0x70], 0xa
je 0x419945
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x2c]
test eax, eax
mov byte [esp + 0x70], 6
je 0x41995a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebp, dword [esp + 0x90]
xor edi, edi
mov eax, dword [esp + 0x98]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x6c], esp
je 0x419988
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
sub esp, 0x18
lea edx, [esp + 0x98]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
mov byte [esp + 0x94], 0x13
call fcn.00417590
mov ecx, dword [esp + 0x50]
mov byte [esp + 0x90], 6
call fcn.00418b50
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov byte [esp + 0x70], 4
je 0x4199e0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x4199e0
push 0x363
push str..CaseExportBase.cpp
call fcn.00422560
add esp, 8
mov eax, dword [esp + 0x14]
cmp eax, edi
mov byte [esp + 0x70], 3
je 0x4199f5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x3c]
add eax, 1
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
jl 0x4193c8
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x70], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419a2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x78]
mov byte [esp + 0x70], 1
call fcn.0044de20
mov ecx, dword [ebp]
mov edx, dword [ecx + 8]
push ebp
mov byte [esp + 0x74], 0
call edx
mov eax, dword [esp + 0x94]
cmp eax, edi
mov dword [esp + 0x70], 0xffffffff
je 0x419a66
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x24
push 0x8007000e
call fcn.004010bd
int3