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

Disassembly:
sub esp, 0x790
mov eax, dword [0x432070]
xor eax, esp
mov dword [esp + 0x78c], eax
mov eax, dword [0x42ffc4]
mov ecx, dword [0x42ffc8]
mov edx, dword [0x42ffcc]
push ebx
push esi
push edi
mov dword [esp + 0x310], eax
movzx eax, word [0x42ffd0]
push 0x72
xor ebx, ebx
mov dword [esp + 0x318], ecx
lea ecx, [esp + 0x322]
push ebx
push ecx
mov dword [esp + 0x324], edx
mov word [esp + 0x328], ax
call fcn.00418590
mov edx, dword [0x42ffd4]
mov eax, dword [0x42ffd8]
mov ecx, dword [0x42ffdc]
mov dword [esp + 0x39c], edx
movzx edx, word [0x42ffe0]
push 0x72
mov dword [esp + 0x3a4], eax
lea eax, [esp + 0x3ae]
push ebx
push eax
mov dword [esp + 0x3b0], ecx
mov word [esp + 0x3b4], dx
call fcn.00418590
mov ecx, dword [0x42ffe4]
mov edx, dword [0x42ffe8]
mov eax, dword [0x42ffec]
mov dword [esp + 0x428], ecx
movzx ecx, word [0x42fff0]
push 0x72
mov dword [esp + 0x430], edx
lea edx, [esp + 0x43a]
push ebx
push edx
mov dword [esp + 0x43c], eax
mov word [esp + 0x440], cx
call fcn.00418590
mov ecx, dword [0x42fff8]
mov eax, dword [0x42fff4]
mov edx, dword [0x42fffc]
push 0x70
mov dword [esp + 0x4bc], ecx
mov dword [esp + 0x4b8], eax
mov eax, dword [0x430000]
lea ecx, [esp + 0x4c8]
push ebx
push ecx
mov dword [esp + 0x4c8], edx
mov dword [esp + 0x4cc], eax
call fcn.00418590
mov eax, dword [0x430008]
mov ecx, dword [0x43000c]
mov edx, dword [0x430004]
mov dword [esp + 0x544], eax
movzx eax, word [0x430014]
push 0x6e
mov dword [esp + 0x54c], ecx
mov dword [esp + 0x544], edx
mov edx, dword [0x430010]
lea ecx, [esp + 0x556]
push ebx
push ecx
mov dword [esp + 0x558], edx
mov word [esp + 0x55c], ax
call fcn.00418590
mov edx, dword [0x430018]
mov eax, dword [0x43001c]
mov ecx, dword [0x430020]
mov dword [esp + 0x4c], edx
mov edx, dword [0x430024]
push 0x70
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
push ebx
lea eax, [esp + 0x64]
push eax
call fcn.00418590
mov eax, dword [0x430030]
mov ecx, dword [0x430028]
mov edx, dword [0x43002c]
add esp, 0x48
push 0x6c
mov dword [esp + 0x9c], eax
mov dword [esp + 0x94], ecx
mov ecx, dword [0x430034]
mov dword [esp + 0x98], edx
mov edx, dword [0x430038]
lea eax, [esp + 0xa8]
push ebx
push eax
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
call fcn.00418590
mov edx, dword [0x430040]
mov ecx, dword [0x43003c]
mov eax, dword [0x430044]
push 0x70
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], ecx
mov ecx, dword [0x430048]
lea edx, [esp + 0x130]
push ebx
push edx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
call fcn.00418590
mov ecx, dword [0x430050]
mov edx, dword [0x430054]
mov eax, dword [0x43004c]
mov dword [esp + 0x1ac], ecx
movzx ecx, word [0x43005c]
push 0x6e
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1ac], eax
mov eax, dword [0x430058]
lea edx, [esp + 0x1be]
push ebx
push edx
mov dword [esp + 0x1c0], eax
mov word [esp + 0x1c4], cx
call fcn.00418590
mov eax, dword [0x430060]
mov ecx, dword [0x430064]
mov edx, dword [0x430068]
mov dword [esp + 0x234], eax
movzx eax, word [0x43006c]
push 0x72
mov dword [esp + 0x23c], ecx
lea ecx, [esp + 0x246]
push ebx
push ecx
mov dword [esp + 0x248], edx
mov word [esp + 0x24c], ax
call fcn.00418590
mov edx, dword [0x430070]
mov eax, dword [0x430074]
mov ecx, dword [0x430078]
mov dword [esp + 0x2c0], edx
movzx edx, word [0x43007c]
push 0x72
mov dword [esp + 0x2c8], eax
lea eax, [esp + 0x2d2]
push ebx
push eax
mov dword [esp + 0x2d4], ecx
mov word [esp + 0x2d8], dx
call fcn.00418590
add esp, 0x3c
mov ecx, 0x454618
call fcn.00402ff0
test eax, eax
je 0x401ccc
mov eax, dword [0x455024]
cmp eax, 6
je 0x401ee0
cmp eax, 7
je 0x401ee0
cmp eax, 9
jne 0x401e96
xor esi, esi
lea edi, [esp + 0x10]
jmp 0x401cb0
push edi
mov ecx, 0x454618
call fcn.00403220
test eax, eax
jne 0x401e3d
inc esi
sub edi, 0xffffff80
cmp esi, 6
jl 0x401cb0
or edx, 0xffffffff
mov dword [0x4333f0], edx
mov dword [0x45457c], ebx
cmp dword [0x454474], 3
jne 0x401f70
cmp edx, 5
ja 0x401f66
cmp dword [0x45457c], 0
jne 0x401f70
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x59a]
push ecx
mov dword [esp + 0x18], 0
xor esi, esi
mov word [esp + 0x59c], ax
call fcn.00418590
lea edx, [esp + 0x59c]
push edx
call fcn.004058a0
lea eax, [esp + 0x5a0]
add esp, 0x10
add eax, 0xfffffffe
nop
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x401d40
mov ecx, dword [str.HGDraw.dll]
mov edx, dword [0x430084]
mov dword [eax], ecx
mov ecx, dword [0x430088]
mov dword [eax + 4], edx
mov edx, dword [0x43008c]
mov dword [eax + 8], ecx
mov ecx, dword [0x430090]
mov dword [eax + 0xc], edx
mov edx, dword [0x430094]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
lea eax, [esp + 0x590]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x401de1
lea ecx, [esp + 0xc]
push ecx
push str.IDR_BINARY
push 0x82
call fcn.00405910
mov esi, eax
add esp, 0xc
test esi, esi
je 0x401f70
mov eax, dword [esp + 0xc]
cmp eax, 0xa
jl 0x401f70
push 0x42c8bb
lea edx, [esp + 0x594]
push edx
push eax
push esi
call fcn.00405bd0
add esp, 0x10
test eax, eax
jne 0x401f70
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [esp + 0x594]
push eax
call fcn.00401000
test eax, eax
je 0x401f70
test esi, esi
je 0x401e0a
push esi
call fcn.00416f14
add esp, 4
call fcn.00405a10
mov edx, dword [0x455028]
lea ecx, [esp + 0x590]
push ecx
push edx
call fcn.00403490
add esp, 8
test eax, eax
jne 0x401f70
mov eax, dword [0x455028]
mov dword [0x45457c], eax
jmp 0x401f70
mov ecx, esi
shl ecx, 7
lea eax, [esp + ecx + 0x10]
mov edx, 0x4544f8
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x401e50
mov edx, 9
mov dword [0x4333f0], edx
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x45502c]
mov word [eax + 0x454478], cx
add eax, 2
test cx, cx
jne 0x401e70
mov dword [0x4333f4], esi
mov ebx, 1
jmp 0x401cdb
mov edx, eax
mov dword [0x4333f0], edx
xor eax, eax
movzx ecx, word [eax + 0x45502c]
mov word [eax + 0x454478], cx
add eax, 2
test cx, cx
jne 0x401ea0
xor eax, eax
jmp 0x401ec0
movzx ecx, word [eax + 0x4550b0]
mov word [eax + 0x4544f8], cx
add eax, 2
test cx, cx
jne 0x401ec0
mov ebx, 1
jmp 0x401cdb
xor esi, esi
lea edi, [esp + 0x310]
lea esp, [esp]
push edi
mov ecx, 0x454618
call fcn.00403220
test eax, eax
jne 0x401f0d
inc esi
sub edi, 0xffffff80
cmp esi, 5
jl 0x401ef0
jmp 0x401ccc
mov edx, esi
shl edx, 7
lea eax, [esp + edx + 0x310]
mov edx, 0x4544f8
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x401f20
mov edx, 6
mov dword [0x4333f0], edx
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x45502c]
mov word [eax + 0x454478], cx
add eax, 2
test cx, cx
jne 0x401f40
mov dword [0x4333f4], esi
mov ebx, 1
jmp 0x401cdb
mov dword [0x45457c], 0
mov ecx, dword [esp + 0x798]
pop edi
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.004167a0
add esp, 0x790
ret