Function at 0x4184d0
Capabilities:
Check if file exists
Delete file
Delete registry value
Get file attributes
Move file
Query or enumerate registry value
Set file attributes
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x4aaecf
mov eax, dword fs:[0]
push eax
sub esp, 0x2bc
mov eax, dword [0x4cc850]
xor eax, esp
mov dword [esp + 0x2b8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cc850]
xor eax, esp
push eax
lea eax, [esp + 0x2d0]
mov dword fs:[0], eax
mov eax, dword [esp + 0x2e0]
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x2d8], ebx
mov eax, 7
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], ebx
mov word [esp + 0x90], bx
mov byte [esp + 0x2d8], 1
push 1
push 0x4b3a90
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
call fcn.00406d50
mov ecx, esi
push ecx
lea esi, [esp + 0x58]
mov byte [esp + 0x2dc], 2
call fcn.004062b0
mov ebp, 8
mov byte [esp + 0x2d8], 1
cmp dword [esp + 0x4c], ebp
jb 0x4185a1
mov edx, dword [esp + 0x38]
push edx
call fcn.004692b1
add esp, 4
mov eax, dword [esp + 0x50]
cmp eax, ebx
jne 0x4187fa
push 4
mov edi, 7
push str.NULL
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
call fcn.00406d50
mov eax, esi
push eax
lea esi, [esp + 0x58]
mov byte [esp + 0x2dc], 3
call fcn.004062b0
mov byte [esp + 0x2d8], 1
cmp dword [esp + 0x4c], ebp
jb 0x4185fe
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004692b1
add esp, 4
push 5
push str.error
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
call fcn.00406d50
mov edx, esi
push edx
lea esi, [esp + 0x58]
mov byte [esp + 0x2dc], 4
call fcn.004062b0
mov byte [esp + 0x2d8], 1
cmp dword [esp + 0x4c], ebp
jb 0x41864a
mov eax, dword [esp + 0x38]
push eax
call fcn.004692b1
add esp, 4
xor ecx, ecx
lea edx, [esp + 0x18]
call fcn.004451b0
push eax
lea esi, [esp + 0x58]
mov byte [esp + 0x2dc], 5
call fcn.004062b0
mov byte [esp + 0x2d8], 1
cmp dword [esp + 0x30], ebp
jb 0x418682
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004692b1
add esp, 4
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x1c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x94]
mov byte [esp + 0x2e0], 6
call fcn.00406430
mov byte [esp + 0x2d8], 1
cmp dword [esp + 0x30], ebp
jb 0x4186c5
mov eax, dword [esp + 0x1c]
push eax
call fcn.004692b1
add esp, 4
cmp byte [esp + 0x2e4], bl
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov word [esp + 0x1c], bx
lea esi, [esp + 0x18]
jne 0x41871a
push 0xb
push str.DELETE_FILE
call fcn.00406d50
mov byte [esp + 0x2d8], 7
push 2
push 0x4b3ac8
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
call fcn.00406d50
mov byte [esp + 0x2d8], 8
jmp 0x418753
push 0x12
push str.UPDATE_FILE_DELETE
call fcn.00406d50
mov byte [esp + 0x2d8], 9
push 2
push 0x4b3ac8
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
call fcn.00406d50
mov byte [esp + 0x2d8], 0xa
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x90]
lea edx, [esp + 0x38]
call fcn.004444d0
add esp, 4
cmp dword [esp + 0x4c], ebp
jb 0x41877e
mov edx, dword [esp + 0x38]
push edx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x30], ebp
mov word [esp + 0x38], bx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
jb 0x41879e
mov eax, dword [esp + 0x1c]
push eax
call fcn.004692b1
add esp, 4
cmp dword [esp + 0xa4], ebp
jb 0x4187b7
mov ecx, dword [esp + 0x90]
push ecx
call fcn.004692b1
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov word [esp + 0x90], bx
je 0x4187f3
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
push edx
call fcn.00408440
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
call fcn.004692b1
add esp, 4
xor eax, eax
jmp 0x41921c
mov eax, dword [eax + 0x14]
cmp eax, ebx
je 0x418810
cmp dword [eax + 0x1c], ebp
jb 0x41880b
mov ecx, dword [eax + 8]
jmp 0x418812
lea ecx, [eax + 8]
jmp 0x418812
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], ebx
mov word [esp + 0x74], bx
lea esi, [eax + 2]
mov edi, edi
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x418830
sub eax, esi
sar eax, 1
push eax
push ecx
lea esi, [esp + 0x78]
call fcn.00406d50
mov byte [esp + 0x2d8], 0xb
cmp dword [edi + 0x64], 1
mov esi, vtable.CAUEnv.0
jne 0x4188d4
mov edx, dword [edi + 0x6c]
mov eax, dword [edi + 0x68]
lea ecx, [edi + 0x90]
push ecx
mov ecx, dword [edi + 0x58]
push edx
push ecx
add eax, 0x1c
push eax
lea edx, [esp + 0x44]
push edx
call fcn.00453430
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2e0], 0xc
call fcn.00455920
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x78]
mov byte [esp + 0x2e0], 0xd
call fcn.00406430
cmp dword [esp + 0x30], ebp
jb 0x4188bf
mov edx, dword [esp + 0x1c]
push edx
call fcn.004692b1
add esp, 4
mov byte [esp + 0x2d8], 0xb
lea eax, [esp + 0x38]
mov dword [esp + 0x34], esi
call fcn.00406b70
cmp dword [edi + 0x64], 2
jne 0x418946
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x5c]
push ecx
add eax, 0x1c
push eax
lea edx, [esp + 0x3c]
push edx
call fcn.00452b10
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2e0], 0xe
call fcn.00455920
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x78]
mov byte [esp + 0x2e0], 0xf
call fcn.00406430
cmp dword [esp + 0x30], ebp
jb 0x418931
mov edx, dword [esp + 0x1c]
push edx
call fcn.004692b1
add esp, 4
mov byte [esp + 0x2d8], 0xb
lea eax, [esp + 0x38]
mov dword [esp + 0x34], esi
call fcn.00406b70
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 8]
cmp eax, ebx
jne 0x418b5f
lea ecx, [esp + 0x70]
push ecx
lea esi, [esp + 0x58]
call fcn.004062b0
mov edi, 7
push edi
push str.success
lea esi, [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
call fcn.00406d50
mov edx, esi
push edx
lea esi, [esp + 0x58]
mov byte [esp + 0x2dc], 0x10
call fcn.004062b0
mov byte [esp + 0x2d8], 0xb
cmp dword [esp + 0x30], ebp
jb 0x4189b3
mov eax, dword [esp + 0x1c]
push eax
call fcn.004692b1
add esp, 4
xor ecx, ecx
lea edx, [esp + 0x18]
call fcn.004451b0
push eax
lea esi, [esp + 0x58]
mov byte [esp + 0x2dc], 0x11
call fcn.004062b0
mov byte [esp + 0x2d8], 0xb
cmp dword [esp + 0x30], ebp
jb 0x4189eb
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004692b1
add esp, 4
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x1c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x94]
mov byte [esp + 0x2e0], 0x12
call fcn.00406430
mov byte [esp + 0x2d8], 0xb
cmp dword [esp + 0x30], ebp
jb 0x418a2e
mov eax, dword [esp + 0x1c]
push eax
call fcn.004692b1
add esp, 4
cmp byte [esp + 0x2e4], bl
lea eax, [esp + 0x34]
jne 0x418a65
mov edx, str.DELETE_FILE
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x18]
mov byte [esp + 0x2d8], 0x13
call fcn.00405e60
mov byte [esp + 0x2d8], 0x14
jmp 0x418a8d
mov edx, str.UPDATE_FILE_DELETE
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x18]
mov byte [esp + 0x2d8], 0x15
call fcn.00405e60
mov byte [esp + 0x2d8], 0x16
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x90]
lea edx, [esp + 0x1c]
call fcn.004444d0
add esp, 4
cmp dword [esp + 0x30], ebp
jb 0x418ab8
mov edx, dword [esp + 0x1c]
push edx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x4c], ebp
mov word [esp + 0x1c], bx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edi
jb 0x418ad8
mov eax, dword [esp + 0x38]
push eax
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x88], ebp
jb 0x418aee
mov ecx, dword [esp + 0x74]
push ecx
call fcn.004692b1
add esp, 4
cmp dword [esp + 0xa4], ebp
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebx
mov word [esp + 0x74], bx
jb 0x418b1a
mov edx, dword [esp + 0x90]
push edx
call fcn.004692b1
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov word [esp + 0x90], bx
je 0x419217
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
push ecx
call fcn.00408440
mov edx, dword [esp + 0x5c]
add esp, 4
push edx
call fcn.004692b1
add esp, 4
jmp 0x419217
cmp eax, 2
jne 0x418e15
cmp byte [esp + 0x2e4], bl
jne 0x418e15
lea eax, [esp + 0x50]
push eax
push 0xf003f
push ebx
push str.SOFTWAREMicrosoftWindowsCurrentVersionSharedDLLs
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
cmp esi, ebx
je 0x418cc6
cmp esi, 2
je 0x418cc6
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x70]
push ecx
lea esi, [esp + 0x58]
mov edi, eax
call fcn.004062b0
mov edx, str.error
lea eax, [esp + 0x18]
call fcn.00405e60
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x2dc], 0x17
call fcn.004062b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
mov ecx, edi
lea edx, [esp + 0x18]
call fcn.004451b0
push eax
mov byte [esp + 0x2dc], 0x18
call fcn.004062b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
mov eax, esi
push eax
lea ecx, [esp + 0x1c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x94]
mov byte [esp + 0x2e0], 0x19
call fcn.00406430
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
mov edx, str.DELETE_FILE
lea eax, [esp + 0x34]
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x18]
mov byte [esp + 0x2d8], 0x1a
call fcn.00405e60
mov byte [esp + 0x2d8], 0x1b
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x90]
lea edx, [esp + 0x1c]
call fcn.004444d0
add esp, 4
lea ecx, [esp + 0x18]
call fcn.00401a00
lea ecx, [esp + 0x34]
call fcn.00401a00
lea ecx, [esp + 0x70]
call fcn.00401a00
lea ecx, [esp + 0x8c]
call fcn.00401a00
lea esi, [esp + 0x54]
call fcn.00406240
xor eax, eax
jmp 0x41921c
cmp dword [esp + 0x88], ebp
mov eax, dword [esp + 0x74]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], 4
jae 0x418ce3
lea eax, [esp + 0x74]
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x74]
push edx
push ebx
push eax
mov eax, dword [esp + 0x64]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp esi, ebx
je 0x418de9
cmp esi, 2
je 0x418de9
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x70]
push ecx
lea esi, [esp + 0x58]
mov edi, eax
call fcn.004062b0
mov edx, str.error
lea eax, [esp + 0x18]
call fcn.00405e60
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x2dc], 0x1e
call fcn.004062b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
mov ecx, edi
lea edx, [esp + 0x18]
call fcn.004451b0
push eax
mov byte [esp + 0x2dc], 0x1f
call fcn.004062b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
mov eax, esi
push eax
lea ecx, [esp + 0x1c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x94]
mov byte [esp + 0x2e0], 0x20
call fcn.00406430
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
mov edx, str.DELETE_FILE
lea eax, [esp + 0x34]
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x18]
mov byte [esp + 0x2d8], 0x21
call fcn.00405e60
mov byte [esp + 0x2d8], 0x22
jmp 0x418c77
mov eax, 1
cmp dword [esp + 0x64], eax
ja 0x41907d
cmp dword [esp + 0x88], ebp
mov eax, dword [esp + 0x74]
jae 0x418e09
lea eax, [esp + 0x74]
mov edx, dword [esp + 0x50]
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp dword [esp + 0x88], ebp
mov eax, dword [esp + 0x74]
jae 0x418e26
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x418e4e
mov ecx, dword [esp + 0x74]
and eax, 0xfffffffe
cmp dword [esp + 0x88], ebp
jae 0x418e46
lea ecx, [esp + 0x74]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 7
push str.success
lea esi, [esp + 0xb0]
mov dword [esp + 0xc8], 7
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], bx
call fcn.00406d50
mov byte [esp + 0x2d8], 0x2c
cmp dword [esp + 0x88], ebp
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], ebx
jae 0x418e98
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x418f58
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
mov dword [esp + 0x50], eax
je 0x418f45
cmp eax, 3
je 0x418f45
cmp dword [esp + 0x88], ebp
mov eax, dword [esp + 0x74]
jae 0x418ed4
lea eax, [esp + 0x74]
push 0x104
lea ecx, [esp + 0xc8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
jne 0x418f11
cmp dword [esp + 0x88], ebp
mov eax, dword [esp + 0x74]
jae 0x418efd
lea eax, [esp + 0x74]
push 0x208
push eax
lea edx, [esp + 0xcc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 4
push ebx
lea eax, [esp + 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea ecx, [esp + 0x34]
push ecx
lea edx, [edi + 0xb0]
push edx
lea ebx, [esp + 0x78]
call fcn.00423860
mov byte [edi + 0x8c], 1
mov ebp, 8
xor ebx, ebx
push 5
push str.error
lea esi, [esp + 0xb0]
call fcn.00406d50
lea eax, [esp + 0x70]
push eax
lea esi, [esp + 0x58]
call fcn.004062b0
lea ecx, [esp + 0xa8]
push ecx
call fcn.004062b0
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x18]
call fcn.004451b0
push eax
mov byte [esp + 0x2dc], 0x2d
call fcn.004062b0
mov byte [esp + 0x2d8], 0x2c
cmp dword [esp + 0x30], ebp
jb 0x418fa9
mov edx, dword [esp + 0x1c]
push edx
call fcn.004692b1
add esp, 4
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x1c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x94]
mov byte [esp + 0x2e0], 0x2e
call fcn.00406430
mov byte [esp + 0x2d8], 0x2c
cmp dword [esp + 0x30], ebp
jb 0x418fec
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004692b1
add esp, 4
cmp byte [esp + 0x2e4], bl
lea eax, [esp + 0x34]
jne 0x41919b
mov edx, str.DELETE_FILE
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x18]
mov byte [esp + 0x2d8], 0x2f
call fcn.00405e60
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x90]
lea edx, [esp + 0x1c]
mov byte [esp + 0x2dc], 0x30
call fcn.004444d0
add esp, 4
cmp dword [esp + 0x30], ebp
jb 0x419050
mov eax, dword [esp + 0x1c]
push eax
call fcn.004692b1
add esp, 4
cmp dword [esp + 0x4c], ebp
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], ebx
mov word [esp + 0x1c], bx
jb 0x4191ed
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004692b1
add esp, 4
jmp 0x4191ed
sub dword [esp + 0x64], eax
cmp dword [esp + 0x88], ebp
mov eax, dword [esp + 0x74]
jae 0x419092
lea eax, [esp + 0x74]
mov edx, dword [esp + 0x50]
push 4
lea ecx, [esp + 0x68]
push ecx
push 4
push ebx
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea eax, [esp + 0x70]
push eax
lea esi, [esp + 0x58]
call fcn.004062b0
mov edx, str.success
lea eax, [esp + 0x18]
call fcn.00405e60
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x2dc], 0x25
call fcn.004062b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
xor ecx, ecx
lea edx, [esp + 0x18]
call fcn.004451b0
push eax
mov byte [esp + 0x2dc], 0x26
call fcn.004062b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
mov edx, esi
push edx
lea ecx, [esp + 0x1c]
call fcn.0043e6a0
add esp, 4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x94]
mov byte [esp + 0x2e0], 0x27
call fcn.00406430
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d8], 0xb
call fcn.00401a00
mov edx, str.DELETE_FILE
lea eax, [esp + 0x34]
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x18]
mov byte [esp + 0x2d8], 0x28
call fcn.00405e60
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0x1c]
mov byte [esp + 0x2dc], 0x29
call fcn.004444d0
add esp, 4
lea ecx, [esp + 0x18]
call fcn.00401a00
lea ecx, [esp + 0x34]
jmp 0x4191f4
mov edx, str.UPDATE_FILE_DELETE
call fcn.00405e60
mov edx, 0x4b3ac8
lea eax, [esp + 0x18]
mov byte [esp + 0x2d8], 0x31
call fcn.00405e60
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x90]
lea edx, [esp + 0x1c]
mov byte [esp + 0x2dc], 0x32
call fcn.004444d0
add esp, 4
lea ecx, [esp + 0x18]
call fcn.00401a00
lea ecx, [esp + 0x34]
call fcn.00401a00
lea ecx, [esp + 0xa8]
call fcn.00401a00
lea ecx, [esp + 0x70]
call fcn.00401a00
lea ecx, [esp + 0x8c]
call fcn.00401a00
lea esi, [esp + 0x54]
call fcn.00406240
mov eax, 1
mov ecx, dword [esp + 0x2d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2b8]
xor ecx, esp
call fcn.00483bf3
add esp, 0x2c8
ret 8