Function at 0x4667dc
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff2c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00403870
mov eax, dword [ebp - 0xc]
call fcn.00403870
xor eax, eax
push ebp
push 0x4677b9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4677d4
call fcn.00454db4
mov byte [ebp - 0x33], 0
mov byte [ebp - 0x32], 0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
cmp ebx, 0xffffffff
je 0x46685d
mov edx, ebx
mov eax, dword [0x48a188]
call fcn.0040b620
mov dword [ebp - 0x20], eax
jmp 0x466862
xor eax, eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x2c]
call fcn.00403548
mov byte [ebp - 0x34], 0
mov byte [ebp - 0xd], 0
mov eax, dword [0x489f2c]
mov dword [ebp - 0x18], eax
mov eax, dword [0x489f30]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
call fcn.00403548
lea eax, [ebp - 0x3c]
call fcn.00403548
xor edx, edx
push ebp
push 0x467683
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x46763d
push dword fs:[edx]
mov dword fs:[edx], esp
mov byte [ebp - 0x36], 0
xor eax, eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x10
je 0x4668c6
or dword [ebp - 0x58], 0x10
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x20
je 0x4668d3
or dword [ebp - 0x58], 0x40
mov eax, dword [ebp - 4]
test byte [eax + 0x4b], 0x80
je 0x4668e3
or dword [ebp - 0x58], 0x80
mov eax, dword [ebp - 4]
test byte [eax + 0x4c], 0x10
je 0x4668f3
or dword [ebp - 0x58], 0x100
lea eax, [ebp - 0x30]
call fcn.00403548
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x4e]
dec al
jne 0x466915
lea eax, [ebp - 0x28]
mov edx, dword [0x489ff0]
call fcn.004035dc
jmp 0x466936
cmp dword [ebp - 0xc], 0
jne 0x46692b
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.0046ee0c
jmp 0x466936
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0xc]
call fcn.004035dc
mov dl, 1
mov eax, dword [ebp - 0x28]
call fcn.004649b0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x94], 0xb
lea edx, [ebp - 0x98]
xor ecx, ecx
mov eax, 0x4677f0
call fcn.00454fa4
mov byte [ebp - 0x52], 0
cmp byte [0x48a1f3], 0
je 0x46699c
cmp dword [0x48a200], 0x5000000
jb 0x46699c
mov eax, dword [ebp - 0x28]
call fcn.004522d8
test al, al
je 0x46699c
mov eax, 0x46780c
call fcn.00454db4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4e], 0
sete byte [ebp - 0x52]
mov eax, dword [ebp - 0x28]
call fcn.0042cdb0
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x33], 0
jne 0x4669b7
mov al, byte [ebp - 0x31]
mov byte [ebp - 0x32], al
mov byte [ebp - 0x33], 1
cmp byte [ebp - 0x32], 0
je 0x4669c1
or dword [ebp - 0x58], 1
cmp dword [ebp - 0x20], 0
je 0x4669f5
mov eax, dword [ebp - 0x20]
test byte [eax + 0x44], 4
je 0x4669e1
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x60], edx
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x5c], edx
jmp 0x4669f1
lea eax, [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x20]
add eax, 0x34
push eax
call sub.kernel32.dll_LocalFileTimeToFileTime
mov bl, 1
jmp 0x466a02
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 8]
call fcn.004521c8
mov ebx, eax
test bl, bl
je 0x466a3b
lea edx, [ebp - 0x9c]
lea eax, [ebp - 0x60]
call fcn.00464ce8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x94], 0xb
lea edx, [ebp - 0x98]
xor ecx, ecx
mov eax, 0x467848
call fcn.00454fa4
jmp 0x466a45
mov eax, 0x46786c
call fcn.00454db4
cmp byte [ebp - 0x31], 0
je 0x466f6c
mov eax, 0x4678a0
call fcn.00454db4
mov eax, dword [ebp - 4]
test byte [eax + 0x4c], 1
je 0x466a71
mov eax, 0x4678bc
call fcn.00454db4
jmp 0x4674d1
lea eax, [ebp - 0x1c]
mov edx, dword [0x489c4c]
call fcn.004035dc
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x28]
call fcn.004521c8
mov byte [ebp - 0x51], al
cmp byte [ebp - 0x51], 0
je 0x466ac8
lea edx, [ebp - 0x9c]
lea eax, [ebp - 0x68]
call fcn.00464ce8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x94], 0xb
lea edx, [ebp - 0x98]
xor ecx, ecx
mov eax, 0x4678f0
call fcn.00454fa4
jmp 0x466ad2
mov eax, 0x467918
call fcn.00454db4
mov eax, dword [ebp - 4]
test byte [eax + 0x4c], 2
jne 0x466d8c
mov byte [ebp - 0x53], 0
cmp dword [ebp - 0x20], 0
je 0x466b0a
mov eax, dword [ebp - 0x20]
test byte [eax + 0x44], 1
setne al
mov byte [ebp - 0x3d], al
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x44], eax
jmp 0x466b29
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 8]
call fcn.0042c88c
mov eax, dword [ebp - 0x9c]
lea edx, [ebp - 0x48]
call fcn.00464928
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x466b8a
movzx eax, word [ebp - 0x46]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
movzx eax, word [ebp - 0x48]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
movzx eax, word [ebp - 0x42]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
movzx eax, word [ebp - 0x44]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xbc]
mov ecx, 3
mov eax, 0x467950
call fcn.00454fa4
jmp 0x466b94
mov eax, 0x46797c
call fcn.00454db4
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 0x28]
call fcn.0042c88c
mov eax, dword [ebp - 0x9c]
lea edx, [ebp - 0x50]
call fcn.00464928
test al, al
je 0x466d76
movzx eax, word [ebp - 0x4e]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0
movzx eax, word [ebp - 0x50]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
movzx eax, word [ebp - 0x4a]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
movzx eax, word [ebp - 0x4c]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xbc]
mov ecx, 3
mov eax, 0x4679a0
call fcn.00454fa4
cmp byte [ebp - 0x3d], 0
je 0x466c2f
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x48]
jg 0x466c2f
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x48]
jne 0x466c9c
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x44]
jle 0x466c9c
mov eax, dword [ebp - 4]
test byte [eax + 0x4c], 4
setne al
xor al, 1
or al, byte [ebp - 0x52]
jne 0x466c8d
push 4
push 1
push 6
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x9c]
call fcn.004035dc
lea eax, [ebp - 0x9c]
mov edx, 0x4679d0
call fcn.004036c4
lea eax, [ebp - 0x9c]
mov edx, dword [0x489c84]
call fcn.004036c4
mov eax, dword [ebp - 0x9c]
mov cl, 2
xor edx, edx
call fcn.00470e60
cmp eax, 7
je 0x466d90
mov eax, 0x4679e0
call fcn.00454db4
jmp 0x4674d1
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x48]
jne 0x466d90
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x44]
jne 0x466d90
mov eax, dword [ebp - 4]
test byte [eax + 0x4b], 8
jne 0x466d90
mov eax, dword [ebp - 4]
test byte [eax + 0x4c], 0x40
je 0x466d58
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0x28]
call fcn.00464dd4
test al, al
je 0x466d4c
cmp dword [ebp - 0x20], 0
je 0x466cf8
mov eax, dword [ebp - 0x20]
lea esi, [eax + 0x24]
lea edi, [ebp - 0x80]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x466d1f
lea eax, [ebp - 0x1c]
mov edx, dword [0x489c50]
call fcn.004035dc
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 8]
call fcn.00452218
lea eax, [ebp - 0x1c]
mov edx, dword [0x489c4c]
call fcn.004035dc
lea edx, [ebp - 0x80]
lea eax, [ebp - 0x90]
call fcn.00430b8c
test al, al
je 0x466d40
mov eax, 0x467a14
call fcn.00454db4
jmp 0x4674d1
mov eax, 0x467a50
call fcn.00454db4
jmp 0x466d90
mov eax, 0x467a98
call fcn.00454db4
jmp 0x466d90
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x80
jne 0x466d70
mov eax, 0x467ad4
call fcn.00454db4
jmp 0x4674d1
mov byte [ebp - 0x53], 1
jmp 0x466d90
mov eax, 0x467af4
call fcn.00454db4
cmp byte [ebp - 0x3d], 0
jne 0x466d90
mov byte [ebp - 0x53], 1
jmp 0x466d90
mov byte [ebp - 0x53], 1
cmp byte [ebp - 0x53], 0
je 0x466e5a
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x80
je 0x466e5a
test bl, bl
je 0x466db1
cmp byte [ebp - 0x51], 0
jne 0x466dc0
mov eax, 0x467b20
call fcn.00454db4
jmp 0x4674d1
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x68]
push eax
call sub.kernel32.dll_CompareFileTime
test eax, eax
jne 0x466de0
mov eax, 0x467b4c
call fcn.00454db4
jmp 0x4674d1
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x68]
push eax
call sub.kernel32.dll_CompareFileTime
test eax, eax
jle 0x466e5a
mov eax, dword [ebp - 4]
test byte [eax + 0x4c], 4
setne al
xor al, 1
or al, byte [ebp - 0x52]
jne 0x466e4b
push 4
push 1
push 6
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x9c]
call fcn.004035dc
lea eax, [ebp - 0x9c]
mov edx, 0x4679d0
call fcn.004036c4
lea eax, [ebp - 0x9c]
mov edx, dword [0x489c84]
call fcn.004036c4
mov eax, dword [ebp - 0x9c]
mov cl, 2
xor edx, edx
call fcn.00470e60
cmp eax, 7
je 0x466e5a
mov eax, 0x467b70
call fcn.00454db4
jmp 0x4674d1
lea eax, [ebp - 0x1c]
call fcn.00403548
cmp byte [ebp - 0x52], 0
je 0x466e77
mov eax, 0x467ba8
call fcn.00454db4
jmp 0x4674d1
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 1
je 0x466ed8
push 4
push 1
push 7
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x9c]
call fcn.004035dc
lea eax, [ebp - 0x9c]
mov edx, 0x4679d0
call fcn.004036c4
lea eax, [ebp - 0x9c]
mov edx, dword [0x489c9c]
call fcn.004036c4
mov eax, dword [ebp - 0x9c]
mov cl, 1
xor edx, edx
call fcn.00470e60
cmp eax, 6
je 0x466ed8
mov eax, 0x467bf4
call fcn.00454db4
jmp 0x4674d1
mov eax, dword [ebp - 0x28]
call fcn.00403880
push eax
call sub.kernel32.dll_GetFileAttributesA
mov ebx, eax
cmp ebx, 0xffffffff
je 0x466f8a
test bl, 1
je 0x466f8a
mov eax, dword [ebp - 4]
test byte [eax + 0x4b], 4
jne 0x466f24
mov edx, dword [0x489c88]
mov eax, dword [ebp - 0x28]
call fcn.00464bf8
test al, al
je 0x466f24
mov eax, 0x467c38
call fcn.00454db4
jmp 0x4674d1
lea eax, [ebp - 0x1c]
mov edx, dword [0x489c20]
call fcn.004035dc
and ebx, 0xfffffffe
push ebx
mov eax, dword [ebp - 0x28]
call fcn.00403880
push eax
call sub.kernel32.dll_SetFileAttributesA
test eax, eax
je 0x466f54
mov eax, 0x467c8c
call fcn.00454db4
jmp 0x466f5e
mov eax, 0x467cb4
call fcn.00454db4
mov eax, dword [ebp - 4]
test byte [eax + 0x4b], 4
jne 0x466f8a
jmp 0x466ed8
mov eax, dword [ebp - 4]
test byte [eax + 0x4b], 0x20
je 0x466f8a
cmp byte [ebp - 0x32], 0
jne 0x466f8a
mov eax, 0x467ce4
call fcn.00454db4
jmp 0x4674d1
mov eax, 0x467d1c
call fcn.00454db4
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 8]
call fcn.004035dc
cmp dword [ebp - 0x24], 0
jne 0x466ff6
lea ecx, [ebp - 0x9c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp dword [ebp - 0x9c], 0
je 0x466ff6
lea ecx, [ebp - 0xc0]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0]
call fcn.0042cdb0
test al, al
je 0x466ff6
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp dword [ebp - 0x24], 0
sete byte [ebp - 0x35]
lea eax, [ebp - 0x1c]
mov edx, dword [0x489c2c]
call fcn.004035dc
lea edx, [ebp - 0xc0]
mov eax, dword [ebp - 0x28]
call fcn.0042c88c
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0x9c]
call fcn.0042c9dc
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x2c]
mov edx, 0x467d3c
call fcn.00451024
mov eax, dword [ebp + 0x10]
push eax
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 0x2c]
call fcn.0042c92c
mov eax, dword [ebp - 0x9c]
mov dl, byte [0x467d44]
call fcn.00465e60
pop ecx
push 0
push 1
push 0
mov ecx, dword [ebp - 0x2c]
mov dl, 1
mov eax, 0x44fb58
call fcn.0044fc34
mov dword [ebp - 0x6c], eax
xor eax, eax
push ebp
push 0x4671e8
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x34], 1
xor eax, eax
push ebp
push 0x467178
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 1
lea eax, [ebp - 0x1c]
mov edx, dword [0x489c50]
call fcn.004035dc
cmp dword [ebp - 0x24], 0
jne 0x4670f6
call fcn.00463c5c
mov ecx, 0x464bec
mov edx, dword [ebp - 0x20]
call fcn.004642a8
lea eax, [ebp - 0x1c]
mov edx, dword [0x489c24]
call fcn.004035dc
push 0x464bec
mov eax, dword [ebp - 4]
test byte [eax + 0x4c], 0x80
setne al
xor al, 1
push eax
call fcn.00463c5c
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x6c]
call fcn.004644cc
jmp 0x46716e
push 2
push 0
push 1
mov ecx, dword [ebp - 0x24]
mov dl, 1
mov eax, 0x44fb58
call fcn.0044fc34
mov dword [ebp - 0x70], eax
xor eax, eax
push ebp
push 0x467167
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1c]
mov edx, dword [0x489c24]
call fcn.004035dc
cmp dword [ebp - 0x20], 0
je 0x467143
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 0x14]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
call fcn.00464e28
jmp 0x467151
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
call fcn.00464e28
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46716e
mov eax, dword [ebp - 0x70]
call fcn.00402ca0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467193
lea eax, [ebp - 0x60]
push eax
push 0
push 0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_SetFileTime
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4e], 1
jne 0x4671d2
mov byte [ebp - 0x35], 0
mov edx, 0x6e556e49
mov eax, dword [ebp - 0x6c]
call fcn.00466310
cmp byte [0x489f81], 0
jne 0x4671d2
mov eax, dword [ebp - 0x6c]
call fcn.0046633c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4671ef
mov eax, dword [ebp - 0x6c]
call fcn.00402ca0
ret
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x10
jne 0x4674e3
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x20
je 0x467558
mov eax, dword [ebp - 0x28]
call fcn.0042cdb0
test al, al
je 0x467558
lea eax, [ebp - 0x1c]
call fcn.00403548
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x20
je 0x46750c
mov eax, 0x467e94
call fcn.00454db4
jmp 0x467516
mov eax, 0x467ecc
call fcn.00454db4
mov edx, 0x464fe8
mov eax, 8
call fcn.00403cc8
mov ebx, eax
mov eax, ebx
mov edx, dword [ebp - 0x28]
call fcn.00403598
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x20
setne al
mov byte [ebx + 4], al
mov eax, dword [ebp - 4]
test byte [eax + 0x4b], 0x40
setne al
mov byte [ebx + 5], al
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x10]
mov edx, ebx
call fcn.0040b584
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 0x40
je 0x467605
lea eax, [ebp - 0x1c]
call fcn.00403548
mov eax, 0x467f00
call fcn.00454db4
mov dl, byte [ebp - 0x32]
mov eax, dword [ebp - 0x28]
call fcn.00451af8
mov eax, dword [ebp - 4]
test byte [eax + 0x4a], 2
jne 0x4675e3
or dword [ebp - 0x58], 8
mov eax, dword [ebp - 4]
test byte [eax + 0x4d], 1
je 0x46759f
or dword [ebp - 0x58], 0x200
push 3
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0xd0]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 4]
mov dx, 0x82
call fcn.004555c8
jmp 0x467605
push 0
push 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xd4], eax
lea ecx, [ebp - 0xd4]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 4]
mov dx, 0x8a
call fcn.004555c8
lea eax, [ebp - 0x1c]
call fcn.00403548
cmp dword [ebp - 0x2c], 0
je 0x467624
mov eax, dword [ebp - 4]
movsx edx, word [eax + 0x48]
mov eax, dword [ebp - 0x2c]
call fcn.0046670c
jmp 0x467633
mov eax, dword [ebp - 4]
movsx edx, word [eax + 0x48]
mov eax, dword [ebp - 0x28]
call fcn.0046670c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x467667
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46768a
cmp byte [ebp - 0x34], 0
je 0x467682
mov eax, dword [ebp - 0x2c]
call fcn.00407030
ret