Function at 0x4370e0
Capabilities:
Access peb ldr_data
Check if file exists
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4d989e
mov eax, dword fs:[0]
push eax
mov eax, 0xd894
call fcn.004c4260
mov eax, dword [0x513330]
xor eax, esp
mov dword [esp + 0xd890], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x513330]
xor eax, esp
push eax
lea eax, [esp + 0xd8a8]
mov dword fs:[0], eax
push 0xcbe8
lea eax, [esp + 0xcbe]
mov ebx, ecx
push 0
push eax
mov dword [esp + 0x28], ebx
call fcn.004ab3f0
movzx eax, byte [ebx + 0x28c]
add esp, 0xc
xor ecx, ecx
neg eax
sbb eax, eax
and eax, 0x200
add eax, 6
push eax
lea esi, [esp + 0x30]
mov word [esp + 0xcbc], cx
call fcn.004411c0
mov dword [esp + 0x2c], vtable.WTL::CFileDialog.0
mov dword [esp + 0xd8b0], 0
mov ecx, dword [ebx + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0x4e7868
mov esi, eax
call fcn.00405a00
lea edx, [esp + 0x28]
push edx
mov ecx, str.tab.convert.dlg.open
mov byte [esp + 0xd8b4], 1
call fcn.00405a00
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, esi
mov byte [esp + 0xd8bc], 2
call fcn.0046f110
mov byte [esp + 0xd8b0], 4
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4371ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8b0], 5
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437216
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, dword [esp + 0x18]
cmp dword [ebp - 0xc], 0
je 0x4372ec
mov ecx, 0x5c
mov word [esp + 0x4b0], cx
mov eax, 0x30
xor ecx, ecx
push 0x3fe
mov word [esp + 0x4b8], ax
xor edx, edx
push ecx
lea eax, [esp + 0x6c2]
push eax
mov word [esp + 0x4be], dx
mov word [esp + 0x4c2], cx
mov word [esp + 0x6c4], dx
call fcn.004ab3f0
add esp, 0xc
xor ebx, ebx
cmp dword [ebp - 4], 1
jle 0x43728a
mov ecx, dword [ebp - 0xc]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.00405cd0
mov ebp, dword [esp + 0x18]
lea eax, [esp + 0x4b0]
push eax
push ebp
call fcn.004a59da
mov edi, eax
add esp, 8
test edi, edi
je 0x4372db
mov esi, edi
sub esi, ebp
sar esi, 1
lea ecx, [esi + esi]
push ecx
lea edx, [esp + ebx*2 + 0x6bc]
push ebp
push edx
call fcn.004adad0
lea eax, [esp + 0x4bc]
push eax
lea ebp, [edi + 4]
push ebp
lea ebx, [ebx + esi + 1]
call fcn.004a59da
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x4372a1
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [esp + 0x6b8]
mov dword [esp + 0x58], ecx
jmp 0x4372f4
mov dword [esp + 0x58], str.All_Video_Files__.flv_.mp4_.mov_.avi_.vmw_.m4v_.3gp_
cmp byte [ebx + 0x28c], 0
mov dword [esp + 0x64], 1
je 0x437318
lea edx, [esp + 0xcb8]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], 0x65f5
mov eax, dword [ebx + 0x2a8]
mov dword [esp + 0x78], eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp dword [esp + 0x50], 0
jne 0x437333
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x34], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x5185d0
mov dword [esp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [0x5185e8]
lea eax, [esp + 0x34]
push 0x5185d0
mov dword [esp + 0x40], edx
mov dword [0x5185e8], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0xa4], 0
je 0x437385
lea ecx, [esp + 0x4c]
push ecx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
jmp 0x437390
lea edx, [esp + 0x4c]
push edx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x30], 0
cmp eax, 1
jne 0x4377f7
mov eax, dword [ebx + 0x64]
mov eax, dword [eax - 0xc]
lea edi, [ebx + 0x64]
push edi
xor ecx, ecx
call fcn.00439a20
lea ebp, [ebx + 0x290]
mov ecx, ebp
call fcn.0043a610
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 0x28c], 0
je 0x437625
lea eax, [esp + 0xcb8]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4373e1
movzx ecx, word [esp + 0x84]
sub eax, edx
sar eax, 1
cmp ecx, eax
jae 0x4374d8
lea edx, [esp + 0x4b0]
push edx
lea ecx, [esp + 0xcbc]
call fcn.00405a00
mov byte [esp + 0xd8b0], 6
mov ecx, dword [ebp + 4]
mov eax, dword [eax]
push ecx
push eax
mov ecx, ebp
call fcn.0043aa20
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x437435
mov dword [ecx], eax
jmp 0x437438
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov byte [esp + 0xd8b0], 5
mov eax, dword [esp + 0x4b0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437466
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0xcbc]
call fcn.00405a00
lea esi, [esp + 0x14]
mov byte [esp + 0xd8b0], 7
call fcn.0043a140
push 0x4ee2b8
mov esi, edi
call fcn.00439970
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
push ecx
push eax
push edi
call fcn.0040e720
push 0x4ee2b8
call fcn.00439970
push 0x4ee2bc
call fcn.00439970
mov byte [esp + 0xd8b0], 5
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x437609
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0xcbc]
call fcn.00405a00
push 0x4ee2c0
lea esi, [esp + 0x18]
mov byte [esp + 0xd8b4], 8
call fcn.00439970
movzx ebx, word [esp + 0x84]
lea ebx, [esp + ebx*2 + 0xcb8]
test ebx, ebx
je 0x4375ed
cmp word [ebx], 0
je 0x4375ed
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x4b4]
push eax
call fcn.00439b90
add esp, 8
mov byte [esp + 0xd8b0], 9
mov ecx, dword [ebp + 4]
mov eax, dword [eax]
push ecx
push eax
mov ecx, ebp
call fcn.0043aa20
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x437556
mov dword [ecx], eax
jmp 0x437559
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov byte [esp + 0xd8b0], 8
mov eax, dword [esp + 0x4b0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437587
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x4ee2b8
mov esi, edi
call fcn.00439970
mov eax, ebx
lea edx, [eax + 2]
jmp 0x4375a0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4375a0
sub eax, edx
sar eax, 1
push eax
push ebx
push edi
call fcn.0040e720
push 0x4ee2b8
mov esi, edi
call fcn.00439970
push 0x4ee2bc
call fcn.00439970
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4375d2
sub eax, edx
sar eax, 1
lea ebx, [ebx + eax*2 + 2]
test ebx, ebx
jne 0x437516
mov byte [esp + 0xd8b0], 5
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437615
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x1c]
lea esi, [esp + 0xcb8]
jmp 0x4376bf
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x2ac]
call fcn.00405a00
lea esi, [esp + 0x14]
mov byte [esp + 0xd8b0], 0xa
call fcn.0043a140
mov edx, dword [ebp + 4]
push edx
lea eax, [esp + 0x2ac]
push eax
mov ecx, ebp
call fcn.0043aa20
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x437665
mov dword [ecx], eax
jmp 0x437668
mov dword [ebp], eax
push 0x4ee2b8
mov esi, edi
mov dword [ebp + 4], eax
call fcn.00439970
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
push ecx
push eax
push edi
call fcn.0040e720
push 0x4ee2b8
call fcn.00439970
mov byte [esp + 0xd8b0], 5
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea esi, [esp + 0x2a8]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4376bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.00405a00
mov byte [esp + 0xd8b0], 0xb
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x4376f4
mov edx, esi
lea edi, [ebx + 0x2a8]
call fcn.00405c20
jmp 0x4377c7
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4377c7
xor edx, edx
push 0x1fe
xor ecx, ecx
push edx
lea eax, [esp + 0x4c2]
push eax
mov word [esp + 0x4bc], cx
mov dword [esp + 0x4be], ecx
mov word [esp + 0x4c4], dx
call fcn.004ab3f0
xor ecx, ecx
push 0x1fe
push ecx
lea edx, [esp + 0x6ce]
push edx
mov word [esp + 0x6d0], cx
call fcn.004ab3f0
xor eax, eax
push 0x1fe
push eax
lea ecx, [esp + 0xada]
push ecx
mov word [esp + 0xadc], ax
call fcn.004ab3f0
push 0x100
lea edx, [esp + 0xae0]
push edx
push 0x100
lea eax, [esp + 0x6e8]
push eax
push 0x100
lea ecx, [esp + 0x4f0]
push ecx
push 3
lea edx, [esp + 0x4f0]
push edx
push esi
call fcn.004a844f
add esp, 0x48
lea edx, [esp + 0x4b0]
lea edi, [ebx + 0x2a8]
call fcn.00405c20
lea edx, [esp + 0x4b8]
call fcn.0040c740
mov byte [esp + 0xd8b0], 5
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4377ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edi, ebx
call fcn.00437ce0
push 0
call fcn.00434a20
lea eax, [ebp - 0x10]
mov byte [esp + 0xd8b0], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437829
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xd8b0], 0xffffffff
mov eax, dword [esp + 0x40]
test eax, eax
je 0x437842
push eax
call fcn.004a306a
xor eax, eax
mov ecx, dword [esp + 0xd8a8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xd890]
xor ecx, esp
call fcn.004a52a5
add esp, 0xd8a0
ret