Function at 0x403140
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4339d6
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x3bc
mov eax, dword [0x43ed54]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x33c], ecx
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ecx, [ebp - 0x258]
call fcn.0040aae0
mov dword [ebp - 4], 0
push 0x17
push 0
push str.EasyConverter.PDF2Word.3
lea ecx, [ebp - 0x258]
call fcn.00407b70
lea ecx, [ebp - 0x258]
call fcn.00405420
movzx eax, al
test eax, eax
je 0x4031cf
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.0040de50
jmp 0x403d5f
mov ecx, dword [0x43e02c]
push ecx
lea ecx, [ebp - 0x290]
call fcn.00405240
mov dword [ebp - 0x340], eax
mov edx, dword [ebp - 0x340]
mov dword [ebp - 0x344], edx
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
mov eax, dword [ebp - 0x344]
mov edx, dword [eax]
push edx
call fcn.00404920
mov dword [ebp - 0x348], eax
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00404be0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x290]
call fcn.00405440
push 0x4b
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00404ec0
push 0x493e0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00404f00
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00404f40
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00404fc0
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405000
push 0xffffffffffffffff
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405040
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00404f80
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405080
push 1
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405200
push 0xffffffffffffffff
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.004050c0
push 0xffffffffffffffff
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405100
push 0xffffffffffffffff
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405140
push 0xffffffffffffffff
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405180
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.004051c0
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.004052c0
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405300
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405380
push 0
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00405340
lea ecx, [ebp - 0x234]
call fcn.00405760
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24c]
call fcn.00405760
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x224]
call fcn.00405760
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x254]
call fcn.00405760
mov byte [ebp - 4], 5
xor eax, eax
mov word [ebp - 0x220], ax
push 0x206
push 0
lea ecx, [ebp - 0x21e]
push ecx
call fcn.0041dea0
add esp, 0xc
lea ecx, [ebp - 0x260]
call fcn.004107a0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x230]
call fcn.004107a0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x25c]
call fcn.004107a0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x270]
call fcn.00405460
mov byte [ebp - 4], 9
push 3
push 1
lea ecx, [ebp - 0x248]
call fcn.004054a0
mov byte [ebp - 4], 0xa
push 3
push 3
lea ecx, [ebp - 0x280]
call fcn.004054a0
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x224]
push edx
mov ecx, dword [ebp - 0x33c]
add ecx, 0x70
call fcn.0040d980
push 0
mov ecx, dword [ebp - 0x33c]
add ecx, 0x74
call fcn.00406330
lea ecx, [ebp - 0x258]
call fcn.00405cb0
push eax
mov ecx, dword [ebp - 0x33c]
add ecx, 0x28
call fcn.004062b0
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x284], 0
jmp 0x4034bd
mov eax, dword [ebp - 0x284]
add eax, 1
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x33c]
add ecx, 0x6c
call fcn.004138f0
cmp dword [ebp - 0x284], eax
jge 0x403c91
push 0
mov ecx, dword [ebp - 0x33c]
mov edx, dword [ecx + 0x94]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x403c91
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x284]
mov dword [eax + 0x98], ecx
lea edx, [ebp - 0x234]
push edx
push 0
mov eax, dword [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x33c]
add ecx, 0x6c
call fcn.00405e30
lea ecx, [ebp - 0x24c]
push ecx
push 1
mov edx, dword [ebp - 0x284]
push edx
mov ecx, dword [ebp - 0x33c]
add ecx, 0x6c
call fcn.00405e30
push 1
mov ecx, dword [ebp - 0x33c]
add ecx, 0x78
call fcn.00406480
mov ecx, eax
call fcn.00405cb0
push eax
push 2
mov eax, dword [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x33c]
add ecx, 0x6c
call fcn.00405ee0
lea ecx, [ebp - 0x234]
call fcn.00405cb0
push eax
lea ecx, [ebp - 0x220]
push ecx
call fcn.0041e11c
add esp, 8
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea ecx, [ebp - 0x254]
call fcn.00405800
push 0x2e
lea ecx, [ebp - 0x254]
call fcn.00405a60
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jle 0x4035e5
lea ecx, [ebp - 0x254]
call fcn.00405cc0
sub eax, dword [ebp - 0x22c]
push eax
mov eax, dword [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x254]
call fcn.004058c0
push 0x435724
lea ecx, [ebp - 0x224]
push ecx
lea edx, [ebp - 0x294]
push edx
call fcn.00405ba0
add esp, 0xc
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x350], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x254]
push ecx
mov edx, dword [ebp - 0x350]
push edx
lea eax, [ebp - 0x298]
push eax
call fcn.00405af0
add esp, 0xc
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x358], ecx
mov byte [ebp - 4], 0xd
push str..doc
mov edx, dword [ebp - 0x358]
push edx
lea eax, [ebp - 0x29c]
push eax
call fcn.00405ba0
add esp, 0xc
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x360], ecx
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x360]
call fcn.00405cb0
push eax
lea ecx, [ebp - 0x230]
call fcn.004053c0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x29c]
call fcn.00405740
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x298]
call fcn.00405740
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x294]
call fcn.00405740
mov edx, dword [ebp - 0x230]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x403771
lea ecx, [ebp - 0x288]
call fcn.00405760
mov byte [ebp - 4], 0xf
push 0xcd
lea ecx, [ebp - 0x288]
call fcn.00405ab0
push 4
push 0
lea ecx, [ebp - 0x288]
call fcn.00405cb0
push eax
mov ecx, dword [ebp - 0x33c]
call fcn.00403d80
cmp eax, 6
je 0x403762
push 4
mov ecx, dword [ebp - 0x33c]
add ecx, 0x78
call fcn.00406480
mov ecx, eax
call fcn.00405cb0
push eax
push 2
mov eax, dword [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x33c]
add ecx, 0x6c
call fcn.00405ee0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x288]
call fcn.00405740
jmp 0x4034ae
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x288]
call fcn.00405740
lea ecx, [ebp - 0x234]
call fcn.00405cb0
push eax
lea ecx, [ebp - 0x260]
call fcn.004053c0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x24c]
call fcn.00405ce0
movzx ecx, al
test ecx, ecx
je 0x403959
push 0x43fdb0
push ecx
mov ecx, esp
mov dword [ebp - 0x2a0], esp
mov edx, dword [ebp - 0x260]
push edx
call fcn.00404920
mov dword [ebp - 0x364], eax
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00404df0
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x33c]
movzx edx, byte [ecx + 0xd4]
test edx, edx
je 0x40387d
push 0x43fdb0
push 0x43fdb0
push 0x43fdb0
push ecx
mov ecx, esp
mov dword [ebp - 0x2a4], esp
mov eax, dword [ebp - 0x230]
push eax
call fcn.00404920
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x370], ecx
mov byte [ebp - 4], 0x11
push ecx
mov ecx, esp
mov dword [ebp - 0x2a8], esp
mov edx, dword [ebp - 0x260]
push edx
call fcn.00404920
mov dword [ebp - 0x374], eax
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov byte [ebp - 4], 0x10
mov ecx, eax
call fcn.00404ca0
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x250], eax
jmp 0x403954
lea ecx, [ebp - 0x280]
push ecx
lea ecx, [ebp - 0x2b8]
call fcn.00404ad0
mov dword [ebp - 0x37c], eax
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x248]
push edx
lea ecx, [ebp - 0x2c8]
call fcn.00404ad0
mov dword [ebp - 0x380], eax
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x2c8]
push ecx
push 0x43fdb0
push ecx
mov ecx, esp
mov dword [ebp - 0x2cc], esp
mov edx, dword [ebp - 0x230]
push edx
call fcn.00404920
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x388], eax
mov byte [ebp - 4], 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x2d0], esp
mov edx, dword [ebp - 0x260]
push edx
call fcn.00404920
mov dword [ebp - 0x38c], eax
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov byte [ebp - 4], 0x13
mov ecx, eax
call fcn.00404ca0
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x250], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2c8]
call fcn.00404b30
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2b8]
call fcn.00404b30
jmp 0x403bbb
lea ecx, [ebp - 0x24c]
call fcn.00405cb0
push eax
lea ecx, [ebp - 0x25c]
call fcn.004053c0
lea ecx, [ebp - 0x25c]
push ecx
lea ecx, [ebp - 0x270]
call fcn.004054d0
lea edx, [ebp - 0x270]
push edx
lea ecx, [ebp - 0x2e0]
call fcn.00404ad0
mov dword [ebp - 0x394], eax
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x2e0]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x2e4], esp
mov edx, dword [ebp - 0x260]
push edx
call fcn.00404920
mov dword [ebp - 0x398], eax
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov ecx, eax
call fcn.00404df0
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x228], eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2e0]
call fcn.00404b30
mov ecx, dword [ebp - 0x33c]
movzx edx, byte [ecx + 0xd4]
test edx, edx
je 0x403ab7
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x2f8]
call fcn.00404ad0
mov dword [ebp - 0x3a0], eax
mov byte [ebp - 4], 0x16
push 0x43fdb0
push 0x43fdb0
lea ecx, [ebp - 0x2f8]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x2fc], esp
mov edx, dword [ebp - 0x230]
push edx
call fcn.00404920
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3a8], eax
mov byte [ebp - 4], 0x17
push ecx
mov ecx, esp
mov dword [ebp - 0x300], esp
mov edx, dword [ebp - 0x260]
push edx
call fcn.00404920
mov dword [ebp - 0x3ac], eax
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov byte [ebp - 4], 0x16
mov ecx, eax
call fcn.00404ca0
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x250], eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2f8]
call fcn.00404b30
jmp 0x403bbb
lea ecx, [ebp - 0x280]
push ecx
lea ecx, [ebp - 0x310]
call fcn.00404ad0
mov dword [ebp - 0x3b4], eax
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x248]
push edx
lea ecx, [ebp - 0x320]
call fcn.00404ad0
mov dword [ebp - 0x3b8], eax
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x330]
call fcn.00404ad0
mov dword [ebp - 0x3bc], eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x310]
push ecx
lea edx, [ebp - 0x320]
push edx
lea eax, [ebp - 0x330]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x334], esp
mov edx, dword [ebp - 0x230]
push edx
call fcn.00404920
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
mov byte [ebp - 4], 0x1b
push ecx
mov ecx, esp
mov dword [ebp - 0x338], esp
mov edx, dword [ebp - 0x260]
push edx
call fcn.00404920
mov dword [ebp - 0x3c8], eax
lea ecx, [ebp - 0x258]
call fcn.00405cb0
mov byte [ebp - 4], 0x1a
mov ecx, eax
call fcn.00404ca0
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x250], eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x330]
call fcn.00404b30
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x320]
call fcn.00404b30
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x310]
call fcn.00404b30
jmp 0x403bd4
mov dword [ebp - 4], 0xb
cmp dword [ebp - 0x250], 0
jl 0x403c22
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax], edx
push 2
mov ecx, dword [ebp - 0x33c]
add ecx, 0x78
call fcn.00406480
mov ecx, eax
call fcn.00405cb0
push eax
push 2
mov ecx, dword [ebp - 0x284]
push ecx
mov ecx, dword [ebp - 0x33c]
add ecx, 0x6c
call fcn.00405ee0
jmp 0x403c5e
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
push 3
mov ecx, dword [ebp - 0x33c]
add ecx, 0x78
call fcn.00406480
mov ecx, eax
call fcn.00405cb0
push eax
push 2
mov edx, dword [ebp - 0x284]
push edx
mov ecx, dword [ebp - 0x33c]
add ecx, 0x6c
call fcn.00405ee0
mov ecx, dword [ebp - 0x33c]
add ecx, 0x6c
call fcn.004138f0
mov ecx, eax
mov eax, dword [ebp - 0x284]
add eax, 1
imul eax, eax, 0x64
cdq
idiv ecx
push eax
mov ecx, dword [ebp - 0x33c]
add ecx, 0x74
call fcn.00406330
jmp 0x4034ae
lea ecx, [ebp - 0x258]
call fcn.00405cb0
push eax
mov ecx, dword [ebp - 0x33c]
add ecx, 0x28
call fcn.004062d0
mov dword [ebp - 0x250], eax
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x280]
call fcn.00405480
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x248]
call fcn.00405480
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x270]
call fcn.00405480
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x25c]
call fcn.00405440
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x230]
call fcn.00405440
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x260]
call fcn.00405440
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x254]
call fcn.00405740
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x224]
call fcn.00405740
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24c]
call fcn.00405740
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x234]
call fcn.00405740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.0040de50
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041de91
mov esp, ebp
pop ebp
ret 0xc