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

Disassembly:
sub esp, 0x38
mov eax, dword [0x42bb4c]
push ebx
push ebp
xor ebx, ebx
or ebp, 0xffffffff
push esi
cmp eax, ebx
push edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
je 0x411066
mov eax, dword [0x42bb40]
mov edi, dword [eax]
add eax, 4
cmp edi, ebx
mov dword [0x42bb40], eax
je 0x410fe9
push 2
push 5
call fcn.004039a0
add esp, 8
cmp eax, ebx
je 0x410f61
cmp byte [eax], 0
je 0x410f61
push ebx
push edi
call fcn.00404190
push eax
call fcn.00401f20
add esp, 0xc
mov eax, dword [0x42bb3c]
mov esi, dword [0x42bb38]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebx
fild qword [esp + 0x38]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebx
fild qword [esp + 0x38]
fmul qword [0x4234f8]
fdiv st(1)
call fcn.0041c394
mov edx, dword [edi + 0xa]
mov dword [esp + 0x3c], ebx
add esi, edx
mov ebp, eax
mov dword [esp + 0x38], esi
mov dword [0x42bb38], esi
fild qword [esp + 0x38]
fmul qword [0x4234f8]
fdiv st(1)
call fcn.0041c394
push eax
push ebp
push edi
fstp st(0)
call fcn.00410b00
add esp, 0xc
cmp eax, 0xffffffff
jne 0x410fd3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push eax
call fcn.00401360
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov esi, dword [0x42bbf8]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
cmp esi, ebx
mov dword [0x42bc34], ebx
mov dword [0x42bb4c], ebx
je 0x411023
push 1
push 5
call fcn.004039a0
add esp, 8
push eax
push 0x417
push esi
call edi
push eax
call fcn.00408210
add esp, 8
mov esi, dword [0x42bb70]
cmp esi, ebx
je 0x41104b
push 3
push 5
call fcn.004039a0
add esp, 8
push eax
push 0x3e9
push esi
call edi
push eax
call fcn.00408210
add esp, 8
cmp dword [0x42b800], ebx
jne 0x41105d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push ebx
call fcn.00401ea0
add esp, 4
mov ecx, dword [0x42b770]
mov dword [esp + 0x10], ebp
mov byte [ecx], 0
mov ecx, dword [0x42b804]
mov eax, dword [0x42b78c]
cmp ecx, ebx
je 0x411094
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 edi, 0x100
mov eax, dword [0x42b78c]
mov ecx, dword [0x42b804]
inc eax
cmp eax, ecx
mov dword [0x42b78c], eax
jae 0x411bd0
mov eax, dword [0x42b788]
mov ebp, eax
push eax
mov dword [esp + 0x24], ebp
call fcn.00403d10
xor ebx, ebx
mov dword [0x42b788], eax
mov bx, word [ebp + 2]
push ebp
mov dword [esp + 0x3c], ebx
mov word [ebp + 2], 0
call fcn.0040f290
mov ecx, dword [0x42b774]
mov dword [esp + 0x2c], eax
add esp, 8
cmp byte [ecx], 0
je 0x411099
test bl, 2
je 0x4111cb
mov edx, dword [0x42b76c]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4110ff
mov ecx, dword [0x42b774]
mov edx, dword [0x42b768]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x411115
mov edx, dword [0x42b768]
push 0x5c
push edx
call fcn.0041aff0
add esp, 8
test eax, eax
je 0x411138
mov byte [eax + 1], 0
call fcn.00407fc0
test eax, eax
je 0x41116f
mov edx, dword [0x42b78c]
mov ecx, dword [0x42b804]
cmp edx, ecx
mov eax, ebp
jge 0x41116f
mov esi, dword [eax + 0x1a]
push eax
or esi, edi
mov dword [eax + 0x1a], esi
call fcn.00403d10
mov ecx, dword [0x42b804]
add esp, 4
inc edx
cmp edx, ecx
jl 0x411153
mov eax, dword [0x42bb10]
test byte [eax], 0x10
je 0x4111cb
mov ecx, dword [0x42b774]
push 0
push ecx
call fcn.004010e0
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x4111c3
push 0xfffffffffffffff8
push esi
call fcn.00401240
lea edx, [esp + 0x48]
push 8
push edx
push esi
call fcn.00401160
push esi
call fcn.00401360
add esp, 0x18
cmp word [esp + 0x40], 0x7f7f
jne 0x4111c3
test byte [esp + 0x42], 2
jne 0x411099
mov eax, dword [0x42b76c]
mov byte [eax], 0x30
mov eax, dword [0x42b78c]
xor edx, edx
lea eax, [eax + eax*4 + 5]
lea eax, [eax + eax*4]
shl eax, 2
div dword [0x42b804]
mov ebx, eax
mov eax, dword [ebp + 0x1a]
test edi, eax
mov dword [esp + 0x28], ebx
jne 0x411b7d
test dword [0x42bbc0], eax
je 0x411b7d
test ah, 2
jne 0x411386
test al, 0x40
mov edi, 1
je 0x411224
mov ecx, dword [0x42b774]
push ecx
call fcn.004010a0
add esp, 4
test eax, eax
jne 0x411283
mov eax, dword [esp + 0x24]
test eax, eax
je 0x411285
mov edx, dword [0x42b774]
push 0
push edx
mov dword [esp + 0x38], 0
call fcn.004010e0
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x411278
push esi
call fcn.00401260
mov ecx, dword [ebp + 0x12]
add esp, 4
cmp eax, ecx
jne 0x41126f
lea eax, [esp + 0x38]
lea ecx, [esp + 0x30]
push eax
push ecx
push esi
call fcn.00405830
add esp, 0xc
push esi
call fcn.00401360
add esp, 4
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 0x16]
cmp edx, eax
jne 0x411285
xor edi, edi
test edi, edi
mov dword [0x42bc34], 0
je 0x411399
mov eax, dword [0x42bb14]
test eax, eax
je 0x411094
push 2
push 5
call fcn.004039a0
add esp, 8
test eax, eax
je 0x4112c8
cmp byte [eax], 0
je 0x4112c8
mov ecx, dword [0x42b774]
push ecx
call fcn.00401f20
add esp, 4
mov edx, dword [0x42b774]
push edx
call fcn.00402350
mov ecx, dword [0x42b774]
mov edx, dword [0x42b770]
add esp, 4
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4112e3
mov eax, dword [0x42b770]
push str..__A
push eax
call fcn.00402040
mov ecx, dword [0x42b770]
push 0
push ecx
call fcn.004010e0
add esp, 0x10
cmp eax, 0xffffffff
je 0x411353
push eax
call fcn.00401360
mov esi, dword [0x42b770]
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 [0x42b770]
push eax
call fcn.004010e0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x411313
mov eax, dword [ebp + 0x1a]
test al, 0x20
je 0x4113a4
push 0
push ebp
call fcn.00404190
mov ecx, dword [0x42bc3c]
mov edx, dword [0x42b770]
push eax
push ecx
push edx
call fcn.00410e20
add esp, 0x14
test eax, eax
je 0x411bd0
jmp 0x411966
mov eax, dword [0x42b774]
push eax
call fcn.00402350
add esp, 4
jmp 0x411b7d
mov word [ebp + 2], 0x1f5
jmp 0x411aaf
test eax, 0x200000
je 0x4113d7
mov eax, dword [esp + 0x18]
mov esi, ebx
sub esi, eax
shr esi, 1
add esi, eax
push esi
push eax
push ebp
call fcn.00410b00
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
je 0x411bd0
mov ebx, esi
mov dword [esp + 0x18], ebx
jmp 0x4113db
mov ebx, dword [esp + 0x18]
mov eax, dword [0x42b770]
push eax
call fcn.00401130
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
mov dword [esp + 0x10], esi
jne 0x41140f
mov ecx, dword [0x42b770]
mov dword [0x42bc34], 0x11
push ecx
call fcn.0040ab70
jmp 0x411ba1
mov al, byte [esp + 0x34]
test al, 1
je 0x411713
mov eax, dword [ebp + 0x28]
xor edx, edx
mov dx, word [ebp + 0x26]
mov edi, dword [edx*4 + 0x42bad0]
add edi, 4
test eax, eax
jle 0x411442
mov edx, eax
push edi
call fcn.00403d10
add esp, 4
dec edx
mov edi, eax
jne 0x411434
mov eax, dword [edi + 0x1a]
test al, 0x20
je 0x411482
push esi
call fcn.00401360
push 0
push ebp
mov dword [esp + 0x1c], 0xffffffff
call fcn.00404190
mov ecx, dword [0x42b770]
push eax
mov eax, dword [0x42bc3c]
push eax
push ecx
call fcn.00410e20
add esp, 0x18
test eax, eax
je 0x411ba4
jmp 0x411629
test eax, 0x200000
je 0x4114b1
mov esi, dword [esp + 0x28]
sub esi, ebx
shr esi, 1
add esi, ebx
push esi
push ebx
push edi
call fcn.00410b00
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x411ba4
mov dword [esp + 0x18], esi
jmp 0x4114ca
mov edx, dword [edi + 6]
push edx
call fcn.0040be80
add esp, 4
mov dword [0x42bc34], eax
test eax, eax
jne 0x411ba4
mov ecx, dword [0x42b7e0]
xor eax, eax
mov ax, word [ebp + 0x26]
xor edx, edx
cmp ecx, edx
mov eax, dword [eax*4 + 0x42ba90]
mov ebx, dword [eax + 8]
mov ax, word [eax + 2]
mov dword [0x42b7c8], edx
mov dword [0x42b7c4], edx
mov byte [0x42b7a0], 0x39
je 0x41156f
cmp ax, dx
je 0x41156f
cmp ebx, 2
je 0x41156f
mov esi, 5
test ebx, ebx
mov dword [0x42b7c4], esi
jne 0x41153b
xor eax, eax
mov edx, 1
mov al, byte [ecx]
mov esi, eax
xor esi, 0x6a
inc ecx
cmp esi, 0x1f
mov dword [0x42b7c4], esi
jle 0x41153b
mov esi, 0x1f
mov dword [0x42b7c4], esi
xor eax, eax
test esi, esi
jle 0x411564
mov ebp, ecx
sub ebp, 0x42b7a4
mov bl, byte [eax + ebp + 0x42b7a4]
mov cl, dl
add cl, al
xor bl, cl
xor bl, 0x6a
mov byte [eax + 0x42b7a4], bl
inc eax
cmp eax, esi
jl 0x411549
mov ebp, dword [esp + 0x20]
mov byte [esi + 0x42b7a4], 0
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
jne 0x41157d
mov eax, dword [0x426040]
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0x38]
push edx
mov edx, dword [edi + 0xa]
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebx
call fcn.004034a0
mov esi, eax
mov eax, dword [0x42bbb0]
add esp, 0x14
test esi, esi
je 0x4115d8
cmp eax, 2
je 0x411b92
push 0
push edi
call fcn.00404190
add esp, 8
push eax
push 0
push edi
call fcn.00404190
add esp, 8
push eax
push esi
call fcn.0040c080
add esp, 0xc
mov dword [0x42bc34], eax
jmp 0x411b92
cmp eax, 2
je 0x411b92
mov eax, dword [esp + 0x14]
or esi, 0xffffffff
cmp eax, esi
je 0x4115f9
push eax
call fcn.00401360
add esp, 4
mov dword [esp + 0x14], esi
push ebx
call fcn.00401360
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 0x12]
add esp, 4
cmp eax, ecx
mov dword [esp + 0x10], esi
jne 0x41161c
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 0x16]
cmp ecx, eax
je 0x411629
call fcn.0040f9c0
test eax, eax
je 0x411b92
mov eax, dword [0x42bb10]
mov ecx, dword [0x42b7e0]
xor edx, edx
mov edi, dword [eax + 8]
mov ax, word [eax + 2]
cmp ecx, edx
mov dword [0x42b7c8], edx
mov dword [0x42b7c4], edx
mov byte [0x42b7a0], 0x39
je 0x4116c6
test ax, ax
je 0x4116c6
cmp edi, 2
je 0x4116c6
mov esi, 5
test edi, edi
mov dword [0x42b7c4], esi
jne 0x411692
xor eax, eax
mov edx, 1
mov al, byte [ecx]
mov esi, eax
xor esi, 0x6a
inc ecx
cmp esi, 0x1f
mov dword [0x42b7c4], esi
jle 0x411692
mov esi, 0x1f
mov dword [0x42b7c4], esi
xor eax, eax
test esi, esi
jle 0x4116bb
mov edi, ecx
sub edi, 0x42b7a4
mov bl, byte [edi + eax + 0x42b7a4]
mov cl, dl
add cl, al
xor bl, cl
xor bl, 0x6a
mov byte [eax + 0x42b7a4], bl
inc eax
cmp eax, esi
jl 0x4116a0
mov ebp, dword [esp + 0x20]
mov byte [esi + 0x42b7a4], 0
mov esi, dword [esp + 0x1c]
cmp esi, 0xffffffff
je 0x4116dd
mov edi, dword [0x426040]
mov dword [0x426040], esi
jmp 0x4116e1
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x42b770]
push edx
push eax
push ecx
push ebp
call fcn.0040fa40
add esp, 0x10
cmp esi, 0xffffffff
je 0x411706
mov dword [0x426040], edi
test eax, eax
je 0x411b92
jmp 0x411966
test al, 2
je 0x4117de
mov ecx, dword [0x42bb1c]
test ecx, ecx
je 0x411966
mov eax, dword [0x42bb18]
test eax, eax
je 0x411966
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
call fcn.004011a0
add esp, 0xc
mov dword [0x42bc34], eax
test eax, eax
jne 0x411ba4
mov eax, dword [ebp + 6]
push eax
call fcn.0040be80
add esp, 4
mov dword [0x42bc34], eax
test eax, eax
jne 0x411ba4
mov edx, dword [0x426040]
mov edi, dword [esp + 0x10]
xor ebx, ebx
mov byte [0x42b7a0], 0x39
mov dword [0x42b7c8], ebx
mov dword [0x42b7c4], ebx
mov ecx, dword [ebp + 0xa]
push ebx
push ebx
push ecx
push edx
push edi
call fcn.004034a0
mov esi, eax
mov eax, dword [0x42bbb0]
add esp, 0x14
cmp esi, ebx
je 0x4117bf
cmp eax, 2
je 0x411ba4
push ebx
push ebp
call fcn.00404190
add esp, 8
push eax
push ebx
jmp 0x4118eb
cmp eax, 2
je 0x411ba4
push edi
call fcn.00401360
add esp, 4
mov dword [esp + 0x10], 0xffffffff
jmp 0x411966
cmp dword [esp + 0x1c], 0xffffffff
jne 0x4117fe
mov eax, dword [ebp + 6]
push eax
call fcn.0040be80
add esp, 4
mov dword [0x42bc34], eax
test eax, eax
jne 0x411bb6
mov esi, dword [0x42b7e0]
xor ecx, ecx
mov cx, word [ebp + 0x26]
xor ebx, ebx
cmp esi, ebx
mov eax, dword [ecx*4 + 0x42ba90]
mov edi, dword [eax + 8]
mov ax, word [eax + 2]
mov dword [0x42b7c8], ebx
mov dword [0x42b7c4], ebx
mov byte [0x42b7a0], 0x39
je 0x41189f
cmp ax, bx
je 0x41189f
cmp edi, 2
je 0x41189f
xor edx, edx
mov ecx, 5
cmp edi, ebx
mov dword [0x42b7c4], ecx
jne 0x41186f
xor ecx, ecx
mov edx, 1
mov cl, byte [esi]
xor ecx, 0x6a
inc esi
cmp ecx, 0x1f
mov dword [0x42b7c4], ecx
jle 0x41186f
mov ecx, 0x1f
mov dword [0x42b7c4], ecx
xor eax, eax
cmp ecx, ebx
jle 0x411894
sub esi, 0x42b7a4
mov bl, dl
add bl, al
xor bl, byte [esi + eax + 0x42b7a4]
xor bl, 0x6a
mov byte [eax + 0x42b7a4], bl
inc eax
cmp eax, ecx
jl 0x41187b
mov ebp, dword [esp + 0x20]
mov byte [ecx + 0x42b7a4], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
jne 0x4118ad
mov eax, dword [0x426040]
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x30]
push edx
mov edx, dword [ebp + 0xa]
lea ecx, [esp + 0x3c]
push ecx
push edx
push eax
push edi
call fcn.004034a0
mov esi, eax
mov eax, dword [0x42bbb0]
add esp, 0x14
test esi, esi
je 0x411908
cmp eax, 2
je 0x411ba4
push 0
push ebp
call fcn.00404190
add esp, 8
push eax
push 0
push ebp
call fcn.00404190
add esp, 8
push eax
push esi
call fcn.0040c080
add esp, 0xc
mov dword [0x42bc34], eax
jmp 0x411ba4
cmp eax, 2
je 0x411ba4
mov eax, dword [ebp + 0x1a]
test al, 8
je 0x411932
test al, 6
lea eax, [ebp + 0x40]
jne 0x411922
lea eax, [ebp + 0x2c]
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.00401360
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x12]
add esp, 4
cmp eax, ecx
mov dword [esp + 0x10], 0xffffffff
jne 0x411959
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 0x16]
cmp ecx, eax
je 0x411966
call fcn.0040f9c0
test eax, eax
je 0x411ba4
cmp dword [ebp + 0x22], 3
jne 0x4119a6
mov edx, dword [0x42b774]
push 0
push edx
call fcn.004010e0
add esp, 8
cmp eax, 0xffffffff
je 0x4119a6
push eax
call fcn.00401360
mov eax, dword [0x42b774]
push eax
call fcn.00402b10
mov ecx, dword [0x42b774]
push ecx
call fcn.00401370
add esp, 0xc
mov dword [esp + 0x24], eax
cmp dword [ebp + 0x22], 2
je 0x411a7b
mov eax, dword [ebp + 0x1a]
test ah, 0x10
jne 0x411a7b
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4119f7
mov edx, dword [0x42b770]
mov eax, dword [0x42b774]
push edx
push eax
call fcn.004132d0
add esp, 8
test eax, eax
je 0x4119ef
mov dword [0x42bc2c], 1
mov word [ebp + 2], 0x1f4
jmp 0x411a07
mov word [ebp + 2], 0x1b
jmp 0x411a07
mov ecx, dword [0x42b770]
push ecx
push ebp
call fcn.0040f5b0
add esp, 8
mov cx, word [ebp + 2]
cmp cx, 0x1b
jne 0x411a2c
mov edx, dword [0x42b774]
mov dword [0x42bc34], 0x16
push edx
call fcn.0040ab70
jmp 0x411b8f
mov eax, dword [ebp + 0x1e]
mov edi, 0x80
test ah, 0x10
je 0x411a3e
mov edi, 0x81
test ah, 8
je 0x411a46
or edi, 2
cmp edi, 0x80
je 0x411aaf
mov esi, dword [0x42b774]
cmp cx, 0x1f4
jne 0x411a61
mov esi, dword [0x42b770]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x411aaf
and al, 0xfc
or eax, edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x411aaf
mov edi, dword [0x42b770]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
inc ecx
push ecx
call fcn.0041b140
mov dword [ebp + 0xe], eax
mov ecx, dword [0x42b770]
add esp, 4
mov edx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x411a9f
mov word [ebp + 2], 0x1f6
mov eax, dword [0x42bc34]
test eax, eax
jne 0x411b92
mov eax, dword [0x42b770]
mov byte [eax], 0
mov al, byte [esp + 0x34]
test al, 2
je 0x411ad2
mov word [ebp + 2], 0
mov eax, dword [ebp + 0x22]
test eax, eax
je 0x411b02
mov eax, dword [ebp + 0x1a]
test ah, 4
je 0x411b02
mov ax, word [ebp + 2]
cmp ax, 0x17
je 0x411afd
cmp ax, 0x19
je 0x411afd
cmp ax, 0x1f5
je 0x411afd
cmp ax, 0x1f4
jne 0x411b02
call fcn.00410540
cmp dword [ebp + 0x22], 3
jne 0x411b27
mov ax, word [ebp + 2]
cmp ax, 0x17
je 0x411b18
cmp ax, 0x19
jne 0x411b27
mov ecx, dword [0x42b774]
push ecx
call fcn.00402800
add esp, 4
mov eax, dword [ebp + 0x1a]
test ah, 0x10
je 0x411b5f
mov eax, dword [0x42bb64]
test eax, eax
je 0x411b40
cmp word [ebp + 2], 0x1f5
je 0x411b56
mov ax, word [ebp + 2]
cmp ax, 0x17
je 0x411b56
cmp ax, 0x19
je 0x411b56
cmp ax, 0x1f4
jne 0x411b5f
push ebp
call fcn.0040e6d0
add esp, 4
mov eax, dword [ebp + 0x1a]
test ah, 8
je 0x411b6d
mov dword [0x42b79c], ebp
test byte [ebp + 0x1a], 0x10
je 0x411b7d
mov dword [0x42bb7c], 1
mov edx, dword [esp + 0x28]
push edx
call fcn.00401ea0
mov dword [esp + 0x30], 1
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x411ba4
push eax
call fcn.00401360
add esp, 4
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x411bb6
push eax
call fcn.00401360
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x411bc8
push eax
call fcn.00401360
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x411be3
mov eax, dword [0x42b770]
cmp byte [eax], 0
je 0x411be3
push eax
call fcn.0041b570
add esp, 4
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret