Function at 0x410130
Capabilities:
Check if file exists
Encode data using xor
Get file attributes
Set file attributes

Disassembly:
sub esp, 0x38
mov eax, dword [0x42ad4c]
push ebx
push ebp
xor ebp, ebp
or ebx, 0xffffffff
push esi
cmp eax, ebp
push edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
je 0x410296
mov eax, dword [0x42ad40]
mov edi, dword [eax]
add eax, 4
cmp edi, ebp
mov dword [0x42ad40], eax
je 0x410219
push 2
push 5
call fcn.00403a00
add esp, 8
cmp eax, ebp
je 0x410191
cmp byte [eax], 0
je 0x410191
push ebp
push edi
call fcn.004041f0
push eax
call fcn.00401f80
add esp, 0xc
mov eax, dword [0x42ad3c]
mov esi, dword [0x42ad38]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebp
fild qword [esp + 0x38]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebp
fild qword [esp + 0x38]
fmul qword [0x4224f8]
fdiv st(1)
call fcn.0041b6c4
mov edx, dword [edi + 0x20]
mov dword [esp + 0x3c], ebp
add esi, edx
mov ebx, eax
mov dword [esp + 0x38], esi
mov dword [0x42ad38], esi
fild qword [esp + 0x38]
fmul qword [0x4224f8]
fdiv st(1)
call fcn.0041b6c4
push eax
push ebx
push edi
fstp st(0)
call fcn.0040fd30
add esp, 0xc
cmp eax, 0xffffffff
jne 0x410203
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push eax
call fcn.004013c0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov esi, dword [0x42adf8]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
cmp esi, ebp
mov dword [0x42ae34], ebp
mov dword [0x42ad4c], ebp
je 0x410253
push 1
push 5
call fcn.00403a00
add esp, 8
push eax
push 0x417
push esi
call edi
push eax
call fcn.004074e0
add esp, 8
mov esi, dword [0x42ad70]
cmp esi, ebp
je 0x41027b
push 3
push 5
call fcn.00403a00
add esp, 8
push eax
push 0x3e9
push esi
call edi
push eax
call fcn.004074e0
add esp, 8
cmp dword [0x42aa40], ebp
jne 0x41028d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push ebp
call fcn.00401f00
add esp, 4
mov ecx, dword [0x42a9b0]
mov dword [esp + 0x10], ebx
mov byte [ecx], 0
mov ecx, dword [0x42aa44]
mov eax, dword [0x42a9cc]
cmp ecx, ebp
je 0x4102c4
lea eax, [eax + eax*4 + 5]
xor edx, edx
lea eax, [eax + eax*4]
shl eax, 2
div ecx
mov dword [esp + 0x18], eax
mov eax, dword [0x42a9cc]
mov ecx, dword [0x42aa44]
inc eax
cmp eax, ecx
mov dword [0x42a9cc], eax
jae 0x410df8
mov eax, dword [0x42a9c8]
mov ebp, eax
push eax
mov dword [esp + 0x28], ebp
call fcn.00403d70
mov dword [0x42a9c8], eax
xor eax, eax
mov ax, word [ebp + 4]
push ebp
mov dword [esp + 0x30], eax
mov word [ebp + 4], 0
call fcn.0040e4c0
mov ecx, dword [0x42a9b4]
mov ebx, eax
add esp, 8
mov dword [esp + 0x34], ebx
cmp byte [ecx], 0
je 0x4102c4
test byte [esp + 0x28], 2
je 0x4103c3
mov edx, dword [0x42a9ac]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x41032e
mov ecx, dword [0x42a9b4]
mov edx, dword [0x42a9a8]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x410344
mov edx, dword [0x42a9a8]
push 0x5c
push edx
call fcn.0041a320
add esp, 8
test eax, eax
je 0x410367
mov byte [eax + 1], 0
mov eax, dword [0x42ad10]
test byte [eax], 0x10
je 0x4103c3
mov ecx, dword [0x42a9b4]
push 0
push ecx
call fcn.00401140
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x4103bb
push 0xfffffffffffffff8
push esi
call fcn.004012a0
lea edx, [esp + 0x48]
push 8
push edx
push esi
call fcn.004011c0
push esi
call fcn.004013c0
add esp, 0x18
cmp word [esp + 0x40], 0x7f7f
jne 0x4103bb
test byte [esp + 0x42], 2
jne 0x4102c4
mov eax, dword [0x42a9ac]
mov byte [eax], 0x30
mov eax, dword [0x42a9cc]
xor edx, edx
lea eax, [eax + eax*4 + 5]
lea eax, [eax + eax*4]
shl eax, 2
div dword [0x42aa44]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
test ah, 1
jne 0x410da5
test dword [0x42adc0], eax
je 0x410da5
test ah, 2
jne 0x410579
test al, 0x40
mov edi, 1
je 0x41041b
mov ecx, dword [0x42a9b4]
push ecx
call fcn.00401100
add esp, 4
test eax, eax
jne 0x410476
test ebx, ebx
je 0x410478
mov edx, dword [0x42a9b4]
push 0
push edx
mov dword [esp + 0x38], 0
call fcn.00401140
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x41046b
push esi
call fcn.004012c0
mov ecx, dword [ebp + 0x18]
add esp, 4
cmp eax, ecx
jne 0x410462
lea eax, [esp + 0x38]
lea ecx, [esp + 0x30]
push eax
push ecx
push esi
call fcn.004058c0
add esp, 0xc
push esi
call fcn.004013c0
add esp, 4
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 0x14]
cmp edx, eax
jne 0x410478
xor edi, edi
test edi, edi
mov dword [0x42ae34], 0
je 0x41058c
mov eax, dword [0x42ad14]
test eax, eax
je 0x4102c4
push 2
push 5
call fcn.00403a00
add esp, 8
test eax, eax
je 0x4104bb
cmp byte [eax], 0
je 0x4104bb
mov ecx, dword [0x42a9b4]
push ecx
call fcn.00401f80
add esp, 4
mov edx, dword [0x42a9b4]
push edx
call fcn.004023b0
mov ecx, dword [0x42a9b4]
mov edx, dword [0x42a9b0]
add esp, 4
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4104d6
mov eax, dword [0x42a9b0]
push str..__A
push eax
call fcn.004020a0
mov ecx, dword [0x42a9b0]
push 0
push ecx
call fcn.00401140
add esp, 0x10
cmp eax, 0xffffffff
je 0x410546
push eax
call fcn.004013c0
mov esi, dword [0x42a9b0]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, esi
push eax
mov dl, byte [ecx + esi - 1]
or ecx, 0xffffffff
inc dl
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ecx + esi - 1], dl
mov eax, dword [0x42a9b0]
push eax
call fcn.00401140
add esp, 0xc
cmp eax, 0xffffffff
jne 0x410506
mov eax, dword [ebp + 8]
test al, 0x20
je 0x410597
push 0
push ebp
call fcn.004041f0
mov ecx, dword [0x42ae3c]
mov edx, dword [0x42a9b0]
push eax
push ecx
push edx
call fcn.00410050
add esp, 0x14
test eax, eax
je 0x410df8
jmp 0x410b8e
mov eax, dword [0x42a9b4]
push eax
call fcn.004023b0
add esp, 4
jmp 0x410da5
mov word [ebp + 4], 0x1f5
jmp 0x410cd7
test eax, 0x200000
je 0x4105cc
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
sub esi, eax
shr esi, 1
add esi, eax
push esi
push eax
push ebp
call fcn.0040fd30
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
je 0x410df8
mov ebx, esi
mov dword [esp + 0x18], ebx
jmp 0x4105d0
mov ebx, dword [esp + 0x18]
mov eax, dword [0x42a9b0]
push eax
call fcn.00401190
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
mov dword [esp + 0x10], esi
jne 0x410604
mov ecx, dword [0x42a9b0]
mov dword [0x42ae34], 0x11
push ecx
call fcn.00409ce0
jmp 0x410dc9
mov al, byte [esp + 0x28]
test al, 1
je 0x410906
mov eax, dword [ebp + 0x28]
xor edx, edx
mov dx, word [ebp + 0x2c]
mov edi, dword [edx*4 + 0x42acd0]
add edi, 4
test eax, eax
jle 0x410637
mov edx, eax
push edi
call fcn.00403d70
add esp, 4
dec edx
mov edi, eax
jne 0x410629
mov eax, dword [edi + 8]
test al, 0x20
je 0x410677
push esi
call fcn.004013c0
push 0
push ebp
mov dword [esp + 0x1c], 0xffffffff
call fcn.004041f0
mov ecx, dword [0x42a9b0]
push eax
mov eax, dword [0x42ae3c]
push eax
push ecx
call fcn.00410050
add esp, 0x18
test eax, eax
je 0x410dcc
jmp 0x41081e
test eax, 0x200000
je 0x4106a6
mov esi, dword [esp + 0x20]
sub esi, ebx
shr esi, 1
add esi, ebx
push esi
push ebx
push edi
call fcn.0040fd30
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x410dcc
mov dword [esp + 0x18], esi
jmp 0x4106bf
mov edx, dword [edi + 0x1c]
push edx
call fcn.0040b030
add esp, 4
mov dword [0x42ae34], eax
test eax, eax
jne 0x410dcc
mov ecx, dword [0x42aa20]
xor eax, eax
mov ax, word [ebp + 0x2c]
xor edx, edx
cmp ecx, edx
mov eax, dword [eax*4 + 0x42ac90]
mov ebx, dword [eax + 8]
mov ax, word [eax + 2]
mov dword [0x42aa08], edx
mov dword [0x42aa04], edx
mov byte [0x42a9e0], 0x39
je 0x410764
cmp ax, dx
je 0x410764
cmp ebx, 2
je 0x410764
mov esi, 5
test ebx, ebx
mov dword [0x42aa04], esi
jne 0x410730
xor eax, eax
mov edx, 1
mov al, byte [ecx]
mov esi, eax
xor esi, 0x6a
inc ecx
cmp esi, 0x1f
mov dword [0x42aa04], esi
jle 0x410730
mov esi, 0x1f
mov dword [0x42aa04], esi
xor eax, eax
test esi, esi
jle 0x410759
mov ebp, ecx
sub ebp, 0x42a9e4
mov bl, byte [eax + ebp + 0x42a9e4]
mov cl, dl
add cl, al
xor bl, cl
xor bl, 0x6a
mov byte [eax + 0x42a9e4], bl
inc eax
cmp eax, esi
jl 0x41073e
mov ebp, dword [esp + 0x24]
mov byte [esi + 0x42a9e4], 0
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
jne 0x410772
mov eax, dword [0x425274]
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0x38]
push edx
mov edx, dword [edi + 0x20]
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebx
call fcn.00403500
mov esi, eax
mov eax, dword [0x42adb0]
add esp, 0x14
test esi, esi
je 0x4107cd
cmp eax, 2
je 0x410dba
push 0
push edi
call fcn.004041f0
add esp, 8
push eax
push 0
push edi
call fcn.004041f0
add esp, 8
push eax
push esi
call fcn.0040b230
add esp, 0xc
mov dword [0x42ae34], eax
jmp 0x410dba
cmp eax, 2
je 0x410dba
mov eax, dword [esp + 0x14]
or esi, 0xffffffff
cmp eax, esi
je 0x4107ee
push eax
call fcn.004013c0
add esp, 4
mov dword [esp + 0x14], esi
push ebx
call fcn.004013c0
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 0x18]
add esp, 4
cmp eax, ecx
mov dword [esp + 0x10], esi
jne 0x410811
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 0x14]
cmp ecx, eax
je 0x41081e
call fcn.0040ebf0
test eax, eax
je 0x410dba
mov eax, dword [0x42ad10]
mov edx, dword [0x42aa20]
xor ecx, ecx
mov esi, dword [eax + 8]
mov ax, word [eax + 2]
cmp edx, ecx
mov dword [0x42aa08], ecx
mov dword [0x42aa04], ecx
mov byte [0x42a9e0], 0x39
je 0x4108b9
cmp ax, cx
je 0x4108b9
cmp esi, 2
je 0x4108b9
xor ebx, ebx
mov ecx, 5
test esi, esi
mov dword [0x42aa04], ecx
jne 0x410887
xor ecx, ecx
mov ebx, 1
mov cl, byte [edx]
xor ecx, 0x6a
inc edx
cmp ecx, 0x1f
mov dword [0x42aa04], ecx
jle 0x410887
mov ecx, 0x1f
mov dword [0x42aa04], ecx
xor eax, eax
test ecx, ecx
jle 0x4108ae
mov esi, edx
sub esi, 0x42a9e4
mov dl, bl
add dl, al
xor dl, byte [esi + eax + 0x42a9e4]
xor dl, 0x6a
mov byte [eax + 0x42a9e4], dl
inc eax
cmp eax, ecx
jl 0x410895
mov ebp, dword [esp + 0x24]
mov byte [ecx + 0x42a9e4], 0
mov esi, dword [esp + 0x1c]
cmp esi, 0xffffffff
je 0x4108d0
mov edi, dword [0x425274]
mov dword [0x425274], esi
jmp 0x4108d4
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [0x42a9b0]
push eax
push ecx
push edx
push ebp
call fcn.0040ec70
add esp, 0x10
cmp esi, 0xffffffff
je 0x4108f9
mov dword [0x425274], edi
test eax, eax
je 0x410dba
jmp 0x410b8e
test al, 2
je 0x410a06
mov ecx, dword [0x42ad1c]
test ecx, ecx
je 0x410b8e
mov eax, dword [0x42ad18]
test eax, eax
je 0x410b8e
push eax
mov eax, dword [esp + 0x14]
push ecx
push eax
call fcn.00401200
add esp, 0xc
mov dword [0x42ae34], eax
test eax, eax
jne 0x410dcc
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.0040b030
add esp, 4
mov dword [0x42ae34], eax
test eax, eax
jne 0x410dcc
mov edx, dword [0x4252a8]
or ecx, 0xffffffff
add edx, 0xff8c7a80
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xfffffffe
cmp ecx, 0x14
jl 0x410981
cmp byte [ecx + edx], 0xc9
je 0x410993
mov eax, dword [0x42ae04]
push 0
push 0x64
push 0xb
push eax
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [0x425274]
mov edi, dword [esp + 0x10]
xor ebx, ebx
mov byte [0x42a9e0], 0x39
mov dword [0x42aa08], ebx
mov dword [0x42aa04], ebx
mov ecx, dword [ebp + 0x20]
push ebx
push ebx
push ecx
push edx
push edi
call fcn.00403500
mov esi, eax
mov eax, dword [0x42adb0]
add esp, 0x14
cmp esi, ebx
je 0x4109e7
cmp eax, 2
je 0x410dcc
push ebx
push ebp
call fcn.004041f0
add esp, 8
push eax
push ebx
jmp 0x410b13
cmp eax, 2
je 0x410dcc
push edi
call fcn.004013c0
add esp, 4
mov dword [esp + 0x10], 0xffffffff
jmp 0x410b8e
cmp dword [esp + 0x1c], 0xffffffff
jne 0x410a26
mov eax, dword [ebp + 0x1c]
push eax
call fcn.0040b030
add esp, 4
mov dword [0x42ae34], eax
test eax, eax
jne 0x410dde
mov esi, dword [0x42aa20]
xor ecx, ecx
mov cx, word [ebp + 0x2c]
xor ebx, ebx
cmp esi, ebx
mov eax, dword [ecx*4 + 0x42ac90]
mov edi, dword [eax + 8]
mov ax, word [eax + 2]
mov dword [0x42aa08], ebx
mov dword [0x42aa04], ebx
mov byte [0x42a9e0], 0x39
je 0x410ac7
cmp ax, bx
je 0x410ac7
cmp edi, 2
je 0x410ac7
xor edx, edx
mov ecx, 5
cmp edi, ebx
mov dword [0x42aa04], ecx
jne 0x410a97
xor ecx, ecx
mov edx, 1
mov cl, byte [esi]
xor ecx, 0x6a
inc esi
cmp ecx, 0x1f
mov dword [0x42aa04], ecx
jle 0x410a97
mov ecx, 0x1f
mov dword [0x42aa04], ecx
xor eax, eax
cmp ecx, ebx
jle 0x410abc
sub esi, 0x42a9e4
mov bl, dl
add bl, al
xor bl, byte [esi + eax + 0x42a9e4]
xor bl, 0x6a
mov byte [eax + 0x42a9e4], bl
inc eax
cmp eax, ecx
jl 0x410aa3
mov ebp, dword [esp + 0x24]
mov byte [ecx + 0x42a9e4], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
jne 0x410ad5
mov eax, dword [0x425274]
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x30]
push edx
mov edx, dword [ebp + 0x20]
lea ecx, [esp + 0x3c]
push ecx
push edx
push eax
push edi
call fcn.00403500
mov esi, eax
mov eax, dword [0x42adb0]
add esp, 0x14
test esi, esi
je 0x410b30
cmp eax, 2
je 0x410dcc
push 0
push ebp
call fcn.004041f0
add esp, 8
push eax
push 0
push ebp
call fcn.004041f0
add esp, 8
push eax
push esi
call fcn.0040b230
add esp, 0xc
mov dword [0x42ae34], eax
jmp 0x410dcc
cmp eax, 2
je 0x410dcc
mov eax, dword [ebp + 8]
test al, 8
je 0x410b5a
test al, 6
lea eax, [ebp + 0x42]
jne 0x410b4a
lea eax, [ebp + 0x2e]
lea ecx, [eax + 0x10]
lea edx, [eax + 8]
push ecx
push edx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push edi
call fcn.004013c0
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x18]
add esp, 4
cmp eax, ecx
mov dword [esp + 0x10], 0xffffffff
jne 0x410b81
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 0x14]
cmp ecx, eax
je 0x410b8e
call fcn.0040ebf0
test eax, eax
je 0x410dcc
cmp dword [ebp + 0x10], 3
jne 0x410bce
mov edx, dword [0x42a9b4]
push 0
push edx
call fcn.00401140
add esp, 8
cmp eax, 0xffffffff
je 0x410bce
push eax
call fcn.004013c0
mov eax, dword [0x42a9b4]
push eax
call fcn.00402b70
mov ecx, dword [0x42a9b4]
push ecx
call fcn.004013d0
add esp, 0xc
mov dword [esp + 0x34], eax
cmp dword [ebp + 0x10], 2
je 0x410ca3
mov eax, dword [ebp + 8]
test ah, 0x10
jne 0x410ca3
mov eax, dword [esp + 0x34]
test eax, eax
je 0x410c1f
mov edx, dword [0x42a9b0]
mov eax, dword [0x42a9b4]
push edx
push eax
call fcn.00412610
add esp, 8
test eax, eax
je 0x410c17
mov dword [0x42ae2c], 1
mov word [ebp + 4], 0x1f4
jmp 0x410c2f
mov word [ebp + 4], 0x1b
jmp 0x410c2f
mov ecx, dword [0x42a9b0]
push ecx
push ebp
call fcn.0040e7e0
add esp, 8
mov cx, word [ebp + 4]
cmp cx, 0x1b
jne 0x410c54
mov edx, dword [0x42a9b4]
mov dword [0x42ae34], 0x16
push edx
call fcn.00409ce0
jmp 0x410db7
mov eax, dword [ebp + 0xc]
mov edi, 0x80
test ah, 0x10
je 0x410c66
mov edi, 0x81
test ah, 8
je 0x410c6e
or edi, 2
cmp edi, 0x80
je 0x410cd7
mov esi, dword [0x42a9b4]
cmp cx, 0x1f4
jne 0x410c89
mov esi, dword [0x42a9b0]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x410cd7
and al, 0xfc
or eax, edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x410cd7
mov edi, dword [0x42a9b0]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
inc ecx
push ecx
call fcn.0041a470
mov dword [ebp + 0x24], eax
mov ecx, dword [0x42a9b0]
add esp, 4
mov edx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x410cc7
mov word [ebp + 4], 0x1f6
mov eax, dword [0x42ae34]
test eax, eax
jne 0x410dba
mov eax, dword [0x42a9b0]
mov byte [eax], 0
mov al, byte [esp + 0x28]
test al, 2
je 0x410cfa
mov word [ebp + 4], 0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x410d2a
mov eax, dword [ebp + 8]
test ah, 4
je 0x410d2a
mov ax, word [ebp + 4]
cmp ax, 0x17
je 0x410d25
cmp ax, 0x19
je 0x410d25
cmp ax, 0x1f5
je 0x410d25
cmp ax, 0x1f4
jne 0x410d2a
call fcn.0040f770
cmp dword [ebp + 0x10], 3
jne 0x410d4f
mov ax, word [ebp + 4]
cmp ax, 0x17
je 0x410d40
cmp ax, 0x19
jne 0x410d4f
mov ecx, dword [0x42a9b4]
push ecx
call fcn.00402860
add esp, 4
mov eax, dword [ebp + 8]
test ah, 0x10
je 0x410d87
mov eax, dword [0x42ad64]
test eax, eax
je 0x410d68
cmp word [ebp + 4], 0x1f5
je 0x410d7e
mov ax, word [ebp + 4]
cmp ax, 0x17
je 0x410d7e
cmp ax, 0x19
je 0x410d7e
cmp ax, 0x1f4
jne 0x410d87
push ebp
call fcn.0040d890
add esp, 4
mov eax, dword [ebp + 8]
test ah, 8
je 0x410d95
mov dword [0x42a9dc], ebp
test byte [ebp + 8], 0x10
je 0x410da5
mov dword [0x42ad7c], 1
mov edx, dword [esp + 0x20]
push edx
call fcn.00401f00
mov dword [esp + 0x30], 1
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x410dcc
push eax
call fcn.004013c0
add esp, 4
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x410dde
push eax
call fcn.004013c0
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x410df0
push eax
call fcn.004013c0
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x410e0b
mov eax, dword [0x42a9b0]
cmp byte [eax], 0
je 0x410e0b
push eax
call fcn.0041a8a0
add esp, 4
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret