Function at 0x43efc0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52781c
mov eax, dword fs:[0]
push eax
sub esp, 0x220
mov eax, dword [0x58e5a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x148], eax
xor eax, eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x64], eax
lea edx, [ebp - 0x64]
mov byte [ebp - 4], 1
mov eax, dword [ecx]
push edx
push 1
push ecx
call dword [eax + 0x38]
test eax, eax
js 0x440794
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x5c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor esi, esi
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x180], edx
cmp dword [ebp - 0x5c], esi
jle 0x4402b7
nop
cmp dword [ebp + 0x38], 0
jbe 0x43f0a5
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
sub eax, dword [ebp - 0x164]
sbb edx, dword [ebp - 0x180]
test edx, edx
jb 0x43f0a5
ja 0x43f083
cmp eax, dword [ebp + 0x38]
jbe 0x43f0a5
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x4407da
mov eax, dword [ecx]
call dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x64]
inc esi
mov dword [ebp - 0x124], esi
mov ecx, dword [eax]
mov dword [ebp - 0x190], esi
mov edx, dword [ecx + 0x20]
mov ecx, 3
mov word [ebp - 0x198], cx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 4
movups xmm0, xmmword [ebp - 0x198]
push ecx
sub esp, 0x10
mov ecx, esp
push eax
movups xmmword [ecx], xmm0
call edx
lea eax, [ebp - 0x198]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x43f100
jmp 0x4402aa
mov dword [ebp - 0xfc], 0
mov byte [ebp - 4], 6
lea edx, [ebp - 0xfc]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov dword [ebp - 0x58], 0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0x34]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x4c]
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x43f15f
push dword [ebp - 0xfc]
call edi
mov byte [ebp - 4], 9
jmp 0x44029d
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x24]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x1c]
mov dword [ebp - 0x54], 0
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x24]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov dword [ebp - 0x2c], 0
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x58]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x43f1e3
push dword [ebp - 0x54]
call edi
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x43f1c1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x43f1d2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0xfc]
call edi
mov byte [ebp - 4], 0x10
jmp 0x44029d
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
push eax
call dword [ecx + 0x1c]
xor edx, edx
cmp dword [ebp - 0x28], edx
jle 0x440259
nop dword [eax + eax]
mov dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x11
lea esi, [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
inc edx
push esi
push edx
push eax
mov ecx, dword [eax]
mov dword [ebp - 0x144], edx
call dword [ecx + 0x20]
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
test eax, eax
je 0x43f250
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push str.MbLk
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x20]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x1c]
cmovs ecx, edx
mov dword [ebp - 0x20], ecx
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x20], 0
je 0x43fe22
lea eax, [ebp - 0x18]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x18], xmm0
call fcn.0040d800
add esp, 4
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 0x20]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x108]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x104]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
push dword [ebp - 0x108]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x43f3e0
push 0x5c
push dword [ebp - 0x110]
call fcn.004d547c
add esp, 8
test eax, eax
jne 0x43f3e0
mov esi, dword [ebp - 0x110]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x150], eax
mov word [ebp - 0x160], ax
mov eax, dword [ebp - 0x108]
mov edx, eax
mov dword [ebp - 0x14c], 7
lea edi, [edx + 2]
nop
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x43f320
sub edx, edi
lea ecx, [ebp - 0x160]
sar edx, 1
push edx
push eax
call fcn.00408af0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
mov edi, dword [ebp - 0x114]
push 1
or edi, 1
push 0x560f9c
mov dword [ebp - 0x118], edi
call fcn.0040e5d0
mov dword [ebp - 0x1b0], 0
xor ecx, ecx
mov dword [ebp - 0x1a0], 0
or edi, 0x10
mov dword [ebp - 0x19c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1b0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1a0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push esi
lea eax, [ebp - 0x1b0]
mov dword [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x140]
or edi, 2
push eax
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x118], edi
call fcn.0040d9b0
add esp, 0xc
mov ecx, edi
or ecx, 4
jmp 0x43f43b
mov eax, dword [ebp - 0x110]
mov edx, eax
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 7
lea esi, [edx + 2]
nop dword [eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x43f410
sub edx, esi
lea ecx, [ebp - 0x17c]
sar edx, 1
push edx
push eax
call fcn.00408af0
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x17c]
or ecx, 8
mov dword [ebp - 0x50], 0
xor edx, edx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], ecx
movups xmmword [ebp - 0x50], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x40], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], dx
mov dword [ebp - 4], 0x1b
test cl, 8
je 0x43f4e1
mov edx, dword [ebp - 0x168]
and ecx, 0xfffffff7
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], ecx
cmp edx, 8
jb 0x43f4e1
mov ecx, dword [ebp - 0x17c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f4d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
mov ecx, dword [ebp - 0x114]
add esp, 8
mov byte [ebp - 4], 0x1c
test cl, 4
je 0x43f55c
mov edx, dword [ebp - 0x12c]
and ecx, 0xfffffffb
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], ecx
cmp edx, 8
jb 0x43f53f
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f52f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
mov ecx, dword [ebp - 0x114]
add esp, 8
xor eax, eax
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 7
mov word [ebp - 0x140], ax
mov byte [ebp - 4], 0x1d
test cl, 2
je 0x43f5d7
mov edx, dword [ebp - 0x19c]
and ecx, 0xfffffffd
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], ecx
cmp edx, 8
jb 0x43f5ba
mov ecx, dword [ebp - 0x1b0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f5aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
mov ecx, dword [ebp - 0x114]
add esp, 8
xor eax, eax
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 7
mov word [ebp - 0x1b0], ax
mov byte [ebp - 4], 0x1e
test cl, 1
je 0x43f64c
mov edx, dword [ebp - 0x14c]
and ecx, 0xfffffffe
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], ecx
cmp edx, 8
jb 0x43f62f
mov ecx, dword [ebp - 0x160]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f625
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
xor eax, eax
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 7
mov word [ebp - 0x160], ax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x7c]
call fcn.0041b5a0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x1f
push eax
call fcn.00436910
add esp, 4
cmp dword [ebp - 0x40], 0
je 0x43f6eb
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x50]
mov edx, dword [ebp - 0x50]
cmp ecx, 8
cmovae eax, edx
cmp word [eax], 0x22
jne 0x43f6f1
cmp ecx, 8
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x184]
cmovae eax, edx
push eax
call fcn.0040c130
push 0x22
mov ecx, eax
mov byte [ebp - 4], 0x20
call fcn.00424640
mov edx, dword [eax]
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43f6b0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x50]
call fcn.00408af0
mov byte [ebp - 4], 0x1f
or eax, 0xffffffff
mov edx, dword [ebp - 0x184]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43f6eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x3c]
cmp ecx, 8
lea esi, [ebp - 0x50]
cmovae esi, edx
call fcn.00410080
mov ecx, eax
test ecx, ecx
je 0x4407f3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x100], eax
push esi
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x21
call fcn.0040c680
test al, al
jne 0x43f75c
test esi, esi
jne 0x43f735
xor ecx, ecx
jmp 0x43f74f
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43f740
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x100]
call fcn.0040d3a0
mov byte [ebp - 4], 0x22
mov esi, dword [ebp - 0x100]
mov edi, dword [esi - 0xc]
test edi, edi
js 0x4407e9
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x43f794
push edi
lea ecx, [ebp - 0x100]
call fcn.0040d330
mov esi, dword [ebp - 0x100]
lea eax, [edi + 1]
push eax
push esi
call fcn.004fc11a
lea eax, [esi - 0x10]
add esp, 8
mov dword [ebp - 0x10c], eax
cmp edi, dword [eax + 8]
jg 0x4407e9
xor ecx, ecx
mov dword [eax + 4], edi
mov word [esi + edi*2], cx
cmp dword [eax + 4], ecx
jl 0x43f9e1
push str.RUNDLL32.EXE
push esi
call fcn.004d56ee
add esp, 8
test eax, eax
je 0x43f9e1
sub eax, esi
sar eax, 1
js 0x43f9e1
push dword [ebp - 0x104]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x43f9e1
push 0x2c
push dword [ebp - 0x104]
call fcn.004d547c
mov esi, eax
add esp, 8
test esi, esi
je 0x43f9e1
push 0x20
push dword [ebp - 0x104]
call fcn.004d547c
add esp, 8
test eax, eax
je 0x43f830
cmp eax, esi
jae 0x43f830
add eax, 2
jmp 0x43f836
mov eax, dword [ebp - 0x104]
sub esi, eax
mov dword [ebp - 0x17c], 0
sar esi, 1
lea ecx, [ebp - 0x17c]
push esi
push eax
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 7
call fcn.00408af0
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x50]
call fcn.0040bfb0
mov edx, dword [ebp - 0x168]
cmp edx, 8
jb 0x43f8b4
mov ecx, dword [ebp - 0x17c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f8aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
lea eax, [ebp - 0x50]
push eax
call fcn.00436910
mov ecx, dword [ebp - 0x6c]
mov eax, SysReAllocString
mov esi, dword [ebp - 0x104]
sub eax, ecx
add esp, 4
cmp eax, 1
jb 0x4407e4
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
push 1
cmovae eax, dword [ebp - 0x7c]
push 0x56100c
push ecx
push eax
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x128]
lea ecx, [ebp - 0x17c]
call fcn.004109a0
mov eax, dword [ebp - 0x114]
or eax, 0x20
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], eax
push esi
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.0040d9b0
mov esi, dword [ebp - 0x18]
add esp, 0xc
push eax
lea ecx, [esi + 0x60]
call fcn.0040bfb0
mov edx, dword [ebp - 0x12c]
cmp edx, 8
jb 0x43f97e
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f974
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 7
mov word [ebp - 0x140], ax
cmp edx, 8
jb 0x43f9e4
mov ecx, dword [ebp - 0x17c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f9d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
jmp 0x43f9e4
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x140]
call fcn.00434ca0
push eax
lea ecx, [ebp - 0x50]
call fcn.0040bfb0
mov edx, dword [ebp - 0x12c]
cmp edx, 8
jb 0x43fa3b
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43fa31
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
cmp dword [ebp - 0x3c], 8
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x43fa9f
cmp byte [0x5984a0], 0
jne 0x43fa76
push 0x59849c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
mov byte [0x5984a0], 1
cmp dword [0x59849c], 0
je 0x43fa9f
lea ecx, [ebp - 0x50]
call fcn.00437050
test al, al
je 0x43fa9f
cmp dword [ebp - 0x3c], 8
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
add esi, 0x48
lea eax, [ebp - 0x50]
cmp esi, eax
je 0x43fabc
cmp dword [ebp - 0x3c], 8
mov ecx, esi
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.00408af0
cmp edi, 0xffffffff
mov edi, dword [ebp - 0x18]
jne 0x43facb
or dword [edi + 0xd0], 1
cmp dword [edi + 0x70], 0
jne 0x43fb7c
lea eax, [ebp - 0x50]
add edi, 0x60
push eax
mov ecx, edi
call fcn.0040bfb0
mov edx, edi
lea ecx, [ebp - 0x140]
call fcn.00434ca0
push eax
mov ecx, esi
call fcn.0040bfb0
mov edx, dword [ebp - 0x12c]
cmp edx, 8
jb 0x43fb38
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43fb2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
push dword [ebp - 0x104]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x43fb79
mov esi, dword [ebp - 0x104]
mov ecx, edi
push 1
push 0x56100c
call fcn.0040e5d0
mov edx, esi
lea edi, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x43fb61
sub edx, edi
mov ecx, eax
sar edx, 1
push edx
push esi
call fcn.0040e5d0
mov edi, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x14c], 7
cmp word [ebp - 0x30], cx
mov eax, 2
mov dword [ebp - 0x160], ecx
cmovne eax, ecx
mov dword [ebp - 0x150], ecx
mov ecx, dword [ebp - 0x120]
or eax, 0x40000
or dword [edi + 0xd0], eax
xor eax, eax
mov esi, dword [ebp - 0xfc]
mov word [ebp - 0x160], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43fbc3
sub ecx, edx
sar ecx, 1
push ecx
push dword [ebp - 0x120]
lea ecx, [ebp - 0x160]
call fcn.00408af0
push esi
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.0040d9b0
add esp, 0xc
mov ecx, edi
push eax
call fcn.0040bfb0
mov edx, dword [ebp - 0x12c]
cmp edx, 8
jb 0x43fc47
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43fc3d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 7
mov word [ebp - 0x140], ax
cmp edx, 8
jb 0x43fca8
mov ecx, dword [ebp - 0x160]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43fc9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
push dword [ebp - 0x54]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x43fcdb
mov eax, dword [ebp - 0x54]
lea esi, [edi + 0x18]
mov edx, eax
lea edi, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x43fcc0
sub edx, edi
mov ecx, esi
sar edx, 1
push edx
push eax
call fcn.00408af0
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
sub esp, 8
mov eax, esp
xor dl, dl
mov dword [eax], 0
mov dword [eax + 4], 0
test esi, esi
je 0x43fcfa
lock inc dword [esi + 4]
xor ecx, ecx
mov dword [eax], edi
mov dword [eax + 4], esi
call fcn.0042e240
mov ecx, dword [ebp - 0x148]
add esp, 8
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x43fd24
mov dword [eax + 4], esi
xor esi, esi
mov dword [eax], edi
add dword [ecx + 4], 8
jmp 0x43fd31
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.0040da80
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10c]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43fd4c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x68]
cmp edx, 8
jb 0x43fd8a
mov ecx, dword [ebp - 0x7c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43fd80
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x3c]
cmp edx, 8
jb 0x43fdc8
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43fdbe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
push dword [ebp - 0x104]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call edi
push dword [ebp - 0x108]
call edi
push dword [ebp - 0x110]
call edi
test esi, esi
je 0x43fe1f
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x43fe1f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x43fe1f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x38], ecx
test eax, eax
je 0x43fe4d
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push 0x566ee0
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x38]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x1c]
cmovs ecx, edx
mov dword [ebp - 0x38], ecx
test ecx, ecx
je 0x440211
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x100], 0
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0x10c]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x28]
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x100]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov edx, dword [ebp - 0x10c]
lea ecx, [ebp - 0xf8]
push 0
call fcn.0042d250
add esp, 4
mov byte [ebp - 4], 0x29
cmp dword [ebp - 0xd0], 0
jne 0x43ff74
mov edx, dword [ebp - 0x10c]
lea ecx, [ebp - 0x22c]
push 1
call fcn.0042d250
add esp, 4
lea ecx, [ebp - 0xf8]
mov esi, eax
push esi
call fcn.0040bfb0
lea ecx, [esi + 0x18]
push ecx
lea ecx, [ebp - 0xe0]
call fcn.0040bfb0
lea ecx, [esi + 0x30]
push ecx
lea ecx, [ebp - 0xc8]
call fcn.0040bfb0
lea eax, [esi + 0x48]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0040bfb0
lea eax, [esi + 0x60]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040bfb0
mov al, byte [esi + 0x78]
lea ecx, [ebp - 0x22c]
mov byte [ebp - 0x80], al
call fcn.0041eda0
cmp dword [ebp - 0xd0], 0
jne 0x43ff74
lea ecx, [ebp - 0xf8]
call fcn.0041eda0
push dword [ebp - 0x100]
call edi
push dword [ebp - 0x10c]
call edi
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x43ff57
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x43ff68
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x1c]
jmp 0x44023a
lea eax, [ebp - 0x18]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x18], xmm0
call fcn.0040d800
add esp, 4
mov edi, dword [ebp - 0x120]
xor eax, eax
mov byte [ebp - 4], 0x2d
mov ecx, edi
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 7
lea edx, [ecx + 2]
mov word [ebp - 0x7c], ax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ffc0
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x7c]
call fcn.00408af0
push esi
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x2e
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.0040d9b0
mov edi, dword [ebp - 0x18]
add esp, 0xc
mov ecx, edi
push eax
call fcn.0040bfb0
mov edx, dword [ebp - 0x12c]
cmp edx, 8
jb 0x44003c
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x440032
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 7
mov word [ebp - 0x140], ax
cmp edx, 8
jb 0x440097
mov ecx, dword [ebp - 0x7c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44008d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4407df
push edx
push ecx
call fcn.004d24a7
add esp, 8
lea eax, [ebp - 0xe0]
lea esi, [edi + 0x48]
push eax
mov ecx, esi
call fcn.0040bfb0
xor ecx, ecx
mov eax, 2
cmp word [ebp - 0x30], cx
cmovne eax, ecx
or eax, 0x40000
mov dword [edi + 0xd0], eax
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x4400cb
mov eax, dword [esi]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.00417530
add esp, 8
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edx, dword [ebp - 0x188]
mov edi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x440103
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
cmp edi, 0xffffffff
jne 0x440112
or dword [eax + 0xd0], 1
lea edi, [eax + 0x60]
cmp edi, esi
je 0x44012d
cmp dword [esi + 0x14], 8
mov eax, dword [esi + 0x10]
jb 0x440124
mov esi, dword [esi]
push eax
push esi
mov ecx, edi
call fcn.00408af0
push dword [ebp - 0x100]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x44016e
mov esi, dword [ebp - 0x100]
mov ecx, edi
push 1
push 0x56100c
call fcn.0040e5d0
mov edx, esi
lea edi, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x440156
sub edx, edi
mov ecx, eax
sar edx, 1
push edx
push esi
call fcn.0040e5d0
mov esi, dword [ebp - 0x14]
sub esp, 8
mov eax, esp
xor dl, dl
mov dword [eax], 0
mov dword [eax + 4], 0
test esi, esi
je 0x44018d
lock inc dword [esi + 4]
mov edi, dword [ebp - 0x18]
xor ecx, ecx
mov dword [eax], edi
mov dword [eax + 4], esi
call fcn.0042e240
mov ecx, dword [ebp - 0x148]
add esp, 8
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x4401b8
mov dword [eax], edi
mov dword [eax + 4], esi
add dword [ecx + 4], 8
jmp 0x4401ea
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.0040da80
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x4401ea
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x4401ea
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x4401ea
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0xf8]
call fcn.0041eda0
push dword [ebp - 0x100]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
push dword [ebp - 0x10c]
call edi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x2f
test ecx, ecx
je 0x440222
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x440236
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x31
test eax, eax
je 0x440244
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x144]
cmp edx, dword [ebp - 0x28]
jl 0x43f200
mov esi, dword [ebp - 0x124]
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x44026a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x54]
call edi
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x440280
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x440291
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0xfc]
call edi
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4402aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
cmp esi, dword [ebp - 0x5c]
jl 0x43f060
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp - 0x11c]
lea edx, [ebp - 0x60]
push edx
mov byte [ebp - 4], 0x36
push 0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x28]
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x440786
mov ecx, dword [eax]
lea edx, [ebp - 0x5c]
push edx
push eax
call dword [ecx + 0x1c]
xor esi, esi
cmp dword [ebp - 0x5c], esi
jle 0x440783
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x60]
inc esi
mov dword [ebp - 0x144], esi
mov ecx, dword [eax]
mov dword [ebp - 0x190], esi
mov edx, dword [ecx + 0x20]
mov ecx, 3
mov word [ebp - 0x198], cx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x38
movups xmm0, xmmword [ebp - 0x198]
push ecx
sub esp, 0x10
mov ecx, esp
push eax
movups xmmword [ecx], xmm0
call edx
lea eax, [ebp - 0x198]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x44076c
mov dword [ebp - 0x108], 0
mov byte [ebp - 4], 0x39
lea edx, [ebp - 0x108]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x1c]
mov edi, dword [ebp - 0x108]
mov dword [ebp - 0x28], edi
call fcn.00410080
mov ecx, eax
test ecx, ecx
je 0x4407f3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xfc], esi
mov byte [ebp - 4], 0x3a
test edi, edi
je 0x440563
test edi, 0xffff0000
jne 0x44045a
movzx edi, di
push 0
push edi
call fcn.0040fb00
add esp, 8
mov dword [ebp - 0x11c], eax
test eax, eax
je 0x440574
mov ecx, edi
shr ecx, 4
push 6
inc ecx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x440574
push edi
push eax
push dword [ebp - 0x11c]
call fcn.0040fa60
add esp, 0xc
mov dword [ebp - 0x28], eax
test eax, eax
je 0x440574
movzx edx, word [eax]
mov ecx, 1
mov eax, dword [esi - 8]
mov edi, edx
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x440428
push edi
lea ecx, [ebp - 0xfc]
call fcn.0040d330
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0xfc]
movzx edx, word [eax]
jmp 0x44042b
mov eax, dword [ebp - 0x28]
movzx ecx, dx
add eax, 2
push ecx
push eax
push edi
push esi
call fcn.004e0947
push eax
call fcn.0040f8f0
add esp, 0x14
cmp edi, dword [esi - 8]
jg 0x4407e9
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
jmp 0x440574
lea ecx, [edi + 2]
nop dword [eax]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x440460
sub edi, ecx
sar edi, 1
je 0x440563
mov edx, dword [ebp - 0x28]
mov eax, dword [esi - 0xc]
sub edx, esi
sar edx, 1
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x11c], edx
test edi, edi
js 0x4407e9
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x4404bc
push edi
lea ecx, [ebp - 0xfc]
call fcn.0040d330
mov esi, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x11c]
lea ecx, [edi + edi]
mov eax, dword [esi - 8]
cmp edx, dword [ebp - 0x124]
ja 0x440506
lea edx, [esi + edx*2]
test ecx, ecx
je 0x44054f
test esi, esi
jne 0x4404e2
call fcn.004e08a8
mov dword [eax], 0x16
jmp 0x440547
test edx, edx
jne 0x4404f3
call fcn.004e08a8
mov dword [eax], 0x16
jmp 0x440547
add eax, eax
cmp eax, ecx
jb 0x44053c
push ecx
push edx
push esi
call fcn.004d4d50
add esp, 0xc
jmp 0x44054c
add eax, eax
test ecx, ecx
je 0x44054f
test esi, esi
jne 0x44051d
call fcn.004e08a8
mov dword [eax], 0x16
jmp 0x440547
cmp eax, ecx
jb 0x440530
push ecx
push dword [ebp - 0x28]
push esi
call fcn.004d4210
add esp, 0xc
jmp 0x44054c
push eax
push 0
push esi
call fcn.004d52d0
add esp, 0xc
call fcn.004e08a8
mov dword [eax], 0x22
call fcn.004e0781
lea ecx, [edi + edi]
cmp edi, dword [esi - 8]
jg 0x4407e9
xor eax, eax
mov dword [esi - 0xc], edi
mov word [ecx + esi], ax
jmp 0x440574
lea ecx, [ebp - 0xfc]
call fcn.0040d630
mov esi, dword [ebp - 0xfc]
mov ecx, dword [esi - 0x10]
lea edi, [esi - 0x10]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x124], edi
test ecx, ecx
je 0x440598
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x4405a8
call fcn.00410080
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
mov byte [ebp - 4], 0x3d
test ecx, ecx
je 0x4407f3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov byte [ebp - 4], 0x3c
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x114]
or eax, 0x40
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x4405e8
xor ecx, ecx
jmp 0x440605
mov ecx, eax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4405f0
mov eax, dword [ebp - 0x120]
sub ecx, edx
sar ecx, 1
push dword [edi + 4]
push esi
push ecx
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040c850
add esp, 0x14
mov esi, dword [ebp - 0x30]
mov ecx, dword [esi - 0x10]
lea edi, [esi - 0x10]
mov dword [ebp - 0x2c], 0
test ecx, ecx
je 0x440638
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x440648
call fcn.00410080
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
mov byte [ebp - 4], 0x3f
test ecx, ecx
je 0x4407f3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov byte [ebp - 4], 0x3e
push 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x114]
push 0x560f9c
push dword [edi + 4]
or eax, 0x80
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x2c]
push esi
push eax
call fcn.0040c850
mov eax, dword [ebp - 0x24]
add esp, 0x14
mov dword [ebp - 0x11c], eax
push dword [ebp + 0x38]
sub esp, 0x28
mov esi, esp
mov dword [ebp - 0x128], esi
mov dword [esi + 0x24], 0
mov byte [ebp - 4], 0x40
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x4406cc
mov eax, dword [ecx]
push esi
mov eax, dword [eax]
call eax
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x11c]
push dword [ebp - 0x148]
mov byte [ebp - 4], 0x3e
mov ecx, eax
push dword [ebp + 8]
mov esi, dword [ebp - 0x2c]
mov edx, esi
call fcn.0043efc0
mov ecx, dword [ebp - 0x114]
add esp, 0x34
and ecx, 0xffffff7f
add esi, 0xfffffff0
mov dword [ebp - 0x114], ecx
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x440718
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x114]
and ecx, 0xffffffbf
or eax, 0xffffffff
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x118], ecx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x44073c
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x124]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x440757
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x108]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x144]
mov byte [ebp - 4], 0x41
test eax, eax
je 0x44077a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, dword [ebp - 0x5c]
jl 0x4402f4
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 0x42
test eax, eax
je 0x440794
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4407a5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x4407bd
mov edx, dword [ecx]
lea eax, [ebp + 0x10]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d2a60
mov esp, ebp
pop ebp
ret
call fcn.004b8ee1
call fcn.004e0791
call fcn.00408560
push 0x80070057
call fcn.0040fbc0
push 0x80004005
call fcn.0040fbc0
int3