Function at 0x412190
Capabilities:
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x441366
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x4530e4]
xor eax, esp
mov dword [esp + 0x10c], eax
push ebx
push esi
push edi
mov eax, dword [0x4530e4]
xor eax, esp
push eax
lea eax, [esp + 0x120]
mov dword fs:[0], eax
xor eax, eax
mov edi, ecx
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x18], edi
mov word [esp + 0x24], ax
mov dword [esp + 0x26], eax
mov dword [esp + 0x2a], eax
mov dword [esp + 0x2e], eax
mov word [esp + 0x32], ax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x41220e
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x412212
mov eax, dword [eax]
jmp 0x412214
xor eax, eax
mov edx, dword [esp + 0x134]
cmp edx, dword [eax + 0x14]
jne 0x412225
call fcn.0042bcc3
mov eax, dword [esp + 0x134]
add eax, 0xc
lea esi, [esp + 0x20]
call fcn.0040e350
call fcn.0041e290
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x134]
push eax
push ecx
push edi
call fcn.004143a0
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x412272
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x412276
mov eax, dword [eax]
jmp 0x412278
xor eax, eax
mov edx, dword [esp + 0x134]
cmp edx, dword [eax + 0x14]
jne 0x412289
call fcn.0042bcc3
test byte [0x457660], 1
mov eax, dword [esp + 0x134]
mov dword [eax + 8], 2
jne 0x4122b9
or dword [0x457660], 1
call fcn.0040ae80
push 0x441be0
call fcn.0042c9f1
add esp, 4
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x4122d4
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x4122d8
mov ecx, dword [eax]
jmp 0x4122da
xor ecx, ecx
mov edx, dword [esp + 0x134]
cmp edx, dword [ecx + 0x14]
jne 0x4122f2
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
cmp byte [ecx + 0xc], 0x4d
jne 0x41236b
test eax, eax
jne 0x412313
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x412317
mov ecx, dword [eax]
jmp 0x412319
xor ecx, ecx
mov edx, dword [esp + 0x134]
cmp edx, dword [ecx + 0x14]
jne 0x412331
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
mov esi, dword [esp + 0x134]
add esi, 8
test eax, eax
jne 0x41234f
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x412353
mov eax, dword [eax]
jmp 0x412355
xor eax, eax
mov ecx, dword [esp + 0x134]
cmp ecx, dword [eax + 0x14]
jne 0x412366
call fcn.0042bcc3
add esi, 0x28
jmp 0x4123d5
test eax, eax
jne 0x41237f
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x412383
mov ecx, dword [eax]
jmp 0x412385
xor ecx, ecx
mov edx, dword [esp + 0x134]
cmp edx, dword [ecx + 0x14]
jne 0x41239d
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
mov esi, dword [esp + 0x134]
add esi, 8
test eax, eax
jne 0x4123bb
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x4123bf
mov eax, dword [eax]
jmp 0x4123c1
xor eax, eax
mov ecx, dword [esp + 0x134]
cmp ecx, dword [eax + 0x14]
jne 0x4123d2
call fcn.0042bcc3
add esi, 0xc
mov ecx, dword [esp + 0x134]
push esi
push 0x456600
add ecx, 0xc4
call fcn.0040b1c0
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x412408
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x41240c
mov ecx, dword [eax]
jmp 0x41240e
xor ecx, ecx
mov edx, dword [esp + 0x134]
cmp edx, dword [ecx + 0x14]
jne 0x412426
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
or ebx, 0xffffffff
cmp dword [ecx + 0x10], ebx
jne 0x412573
test eax, eax
jne 0x41244d
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x412451
mov ecx, dword [eax]
jmp 0x412453
xor ecx, ecx
mov edx, dword [esp + 0x134]
cmp edx, dword [ecx + 0x14]
jne 0x41246b
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
mov edi, dword [esp + 0x134]
cmp dword [edi + 0xdc], 8
jb 0x412483
mov edi, dword [edi + 0xc8]
jmp 0x412489
add edi, 0xc8
test eax, eax
jne 0x41249d
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x4124a1
mov eax, dword [eax]
jmp 0x4124a3
xor eax, eax
mov ecx, dword [esp + 0x134]
cmp ecx, dword [eax + 0x14]
jne 0x4124b4
call fcn.0042bcc3
mov esi, dword [esp + 0x134]
push edi
add esi, 0xc
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, ebx
jne 0x4124ce
mov dword [esi + 4], ebx
jmp 0x4124dc
not al
movzx edx, al
shr edx, 4
and edx, 1
mov dword [esi + 4], edx
mov ecx, dword [esp + 0x130]
test ecx, ecx
jne 0x4124f7
call fcn.0042bcc3
mov ecx, dword [esp + 0x130]
test ecx, ecx
je 0x4124fb
mov edx, dword [ecx]
jmp 0x4124fd
xor edx, edx
mov eax, dword [esp + 0x134]
cmp eax, dword [edx + 0x14]
jne 0x41251c
call fcn.0042bcc3
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
lea esi, [eax + 8]
test ecx, ecx
jne 0x41253a
call fcn.0042bcc3
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x134]
test ecx, ecx
je 0x41253e
mov ecx, dword [ecx]
jmp 0x412540
xor ecx, ecx
cmp eax, dword [ecx + 0x14]
jne 0x412551
call fcn.0042bcc3
mov eax, dword [esp + 0x134]
cmp dword [eax + 0x2c], 0x10
jb 0x41255c
mov eax, dword [eax + 0x18]
jmp 0x41255f
add eax, 0x18
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.00409db0
mov eax, dword [esp + 0x138]
add esp, 8
test eax, eax
jne 0x412587
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x41258b
mov ecx, dword [eax]
jmp 0x41258d
xor ecx, ecx
mov edx, dword [esp + 0x134]
cmp edx, dword [ecx + 0x14]
jne 0x4125a5
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
cmp byte [ecx + 0xc], 0x44
je 0x412856
test eax, eax
jne 0x4125ca
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x4125ce
mov ecx, dword [eax]
jmp 0x4125d0
xor ecx, ecx
mov edx, dword [esp + 0x134]
cmp edx, dword [ecx + 0x14]
jne 0x4125e8
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
cmp byte [ecx + 0xc], 0x4d
je 0x412856
test eax, eax
jne 0x41260d
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x412611
mov eax, dword [eax]
jmp 0x412613
xor eax, eax
mov edx, dword [esp + 0x134]
cmp edx, dword [eax + 0x14]
jne 0x412624
call fcn.0042bcc3
mov edi, dword [esp + 0x134]
add edi, 8
call fcn.00413340
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
push eax
push ecx
call fcn.004140a0
add esp, 8
test eax, eax
je 0x4126aa
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
mov esi, dword [esp + 0x14]
push edx
push eax
lea edi, [esi + 0x30]
lea ebx, [esp + 0x20]
call fcn.00417760
cmp dword [esi + 0x48], 0
push 0
jne 0x412691
mov ecx, dword [0x456308]
mov edx, dword [esi + 4]
push 7
push ecx
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
jmp 0x41289a
mov eax, dword [0x456308]
mov ecx, dword [esi + 4]
push 5
push eax
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
jmp 0x41289a
mov ecx, dword [esp + 0x130]
test ecx, ecx
jne 0x4126c5
call fcn.0042bcc3
mov ecx, dword [esp + 0x130]
test ecx, ecx
je 0x4126c9
mov edx, dword [ecx]
jmp 0x4126cb
xor edx, edx
mov eax, dword [esp + 0x134]
cmp eax, dword [edx + 0x14]
jne 0x4126ea
call fcn.0042bcc3
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
cmp dword [eax + 0x10], 0
jne 0x412735
lea esi, [esp + 0x130]
call fcn.00417890
add eax, 0xbc
cmp dword [eax + 0x18], 8
jb 0x41270c
mov eax, dword [eax + 4]
jmp 0x41270f
add eax, 4
mov edx, dword [esp + 0x14]
push eax
push edx
call fcn.00410850
lea esi, [esp + 0x130]
call fcn.00417890
mov ecx, eax
mov eax, dword [esp + 0x18]
add ecx, 4
push eax
jmp 0x412890
mov esi, dword [esp + 0x14]
push eax
push ecx
push esi
call fcn.004111f0
test eax, eax
je 0x412761
mov ecx, dword [0x456308]
mov edx, dword [esi + 4]
push 0
push 7
push ecx
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
jmp 0x41289a
call fcn.0041acf0
lea esi, [esp + 0x130]
xor edi, edi
call fcn.00417890
mov al, byte [eax + 4]
cmp al, 0x41
je 0x41277f
cmp al, 0x55
jne 0x4127d4
mov edi, 0x4462fc
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], 0
mov byte [esp + 0x34], 0
lea esi, [esp + 0x130]
mov dword [esp + 0x128], 0
call fcn.00417890
lea ecx, [esp + 0x30]
push ecx
add eax, 0xbc
xor ecx, ecx
call fcn.0040bd30
add esp, 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x128], ebx
call fcn.0040a4c0
lea eax, [esp + 0x4c]
call fcn.0040f760
push edi
lea ecx, [esp + 0xb0]
mov dword [esp + 0x12c], 1
call fcn.00409ac0
push str.application_octet_stream
lea ecx, [esp + 0xcc]
call fcn.00409ac0
lea esi, [esp + 0x130]
call fcn.00417890
push ebx
add eax, 0x48
push 0
push eax
lea ecx, [esp + 0x10c]
call fcn.0040a3e0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
push eax
lea esi, [esp + 0x50]
call fcn.0040ea80
lea esi, [esp + 0x130]
call fcn.00417890
lea esi, [esp + 0x4c]
mov byte [eax + 0xe0], 1
call fcn.0040f7f0
xor eax, eax
jmp 0x41289a
test eax, eax
jne 0x41286a
call fcn.0042bcc3
mov eax, dword [esp + 0x130]
test eax, eax
je 0x41286e
mov eax, dword [eax]
jmp 0x412870
xor eax, eax
mov ecx, dword [esp + 0x134]
cmp ecx, dword [eax + 0x14]
jne 0x412881
call fcn.0042bcc3
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add ecx, 0xc
push edx
call fcn.0041e800
mov eax, 1
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.0042bb57
add esp, 0x11c
ret 8