Function at 0x57f830
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
call fcn.00408320
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0xcc], 0
lea ecx, [ebp - 0x84]
lea edx, [ebp - 0x9c]
mov eax, 1
call fcn.0040d0e0
call fcn.0040f290
push eax
test eax, eax
jne 0x580429
lea ecx, [ebp - 0xac]
lea edx, [ebp - 0xc4]
mov eax, 1
call fcn.0040d0e0
call fcn.0040f290
push eax
test eax, eax
jne 0x580393
mov eax, dword [0x7cefc0]
call fcn.004157e0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
lea edx, [ebp - 0x18]
call fcn.00559850
mov eax, dword [ebp - 8]
test eax, eax
je 0x57f91f
lea eax, [ebp - 0xcc]
call fcn.00404c10
mov dword [ebp - 0xcc], 0
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 8]
call fcn.00419530
mov eax, dword [ebp - 0xcc]
call fcn.00408320
lea eax, [ebp - 8]
call fcn.00404c10
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd4], 0xb
lea eax, [ebp - 0xd4]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.saveItem:__s
mov edx, 4
call fcn.00579da0
mov byte [ebp - 0x10], 1
lea eax, [ebp - 0xcc]
call fcn.00404c10
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
lea edx, [ebp - 0xcc]
call fcn.00419530
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xd8], eax
lea edx, [ebp - 0xe0]
lea eax, [ebp - 0x14]
mov ecx, 2
call fcn.004084c0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x14]
call fcn.00408320
mov ebx, dword [ebp - 4]
lea eax, [ebx + 0x3c]
call fcn.00404c10
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0xc]
call fcn.0057dec0
test al, al
je 0x57fb40
mov eax, dword [ebp - 0xc]
mov ecx, str.isContainer
mov edx, 5
call fcn.00579e90
mov eax, dword [ebp - 0x14]
call fcn.00408320
lea eax, [ebp - 0x1c]
call fcn.00404c10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
call fcn.00559f20
test al, al
jne 0x57fa7c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0xb
lea eax, [ebp - 0xe0]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.creating_dir:__s
mov edx, 4
call fcn.00579da0
mov eax, dword [ebp - 0x1c]
call fcn.0055b3b0
test al, al
jne 0x57fa7c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0xb
lea eax, [ebp - 0xe0]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.error_creating_dir:__s
mov edx, 2
call fcn.00579da0
mov byte [ebp - 0x10], 0
jmp 0x580417
mov eax, dword [ebp - 0xc]
mov dl, 1
call fcn.0057e4f0
test eax, eax
jne 0x57fa9d
mov eax, dword [ebp - 0xc]
mov edx, 0
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx]
call dword [ecx + 0xa8]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
jmp 0x57fb18
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov cl, 1
call fcn.0057e400
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0xcc]
call fcn.00404c10
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
lea eax, [ebp - 0xcc]
call fcn.00408350
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x78]
call fcn.0057f830
mov eax, ebp
call fcn.005805d0
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 0
je 0x57fb10
mov byte [ebp - 0x10], 0
jmp 0x580417
add dword [ebp - 0x28], 1
adc dword [ebp - 0x24], 0
mov eax, dword [ebp - 0xc]
mov dl, 1
call fcn.0057e4f0
mov edx, 0
cmp edx, dword [ebp - 0x24]
jg 0x57fab0
jl 0x57fb37
cmp eax, dword [ebp - 0x28]
ja 0x57fab0
mov byte [ebp - 0x10], 1
jmp 0x580417
mov byte [ebp - 0x44], 1
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0xb
lea eax, [ebp - 0xe0]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.file:__s
mov edx, 4
call fcn.00579da0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x20], 0
je 0x57fb8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + 0x20]
call ebx
mov eax, dword [ebp - 0x14]
call fcn.00559dd0
test al, al
je 0x57fcfd
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and edx, 8
mov eax, 0
test eax, eax
ja 0x57fbba
jb 0x57fbc1
test edx, edx
jbe 0x57fbc1
mov eax, 1
jmp 0x57fbc6
mov eax, 0
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and edx, 0x40
mov eax, 0
test eax, eax
ja 0x57fbf1
jb 0x57fbf8
test edx, edx
jbe 0x57fbf8
mov eax, 1
jmp 0x57fbfd
mov eax, 0
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], 0
lea eax, [ebp - 0xe0]
push eax
push 1
mov eax, dword [ebp - 0xc]
mov ecx, str.file_exists__AutoRenameFiles_d__AutoOverwriteFiles_d
mov edx, 5
call fcn.00579da0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and edx, 8
mov eax, 0
test eax, eax
ja 0x57fc43
jb 0x57fc7e
test edx, edx
jbe 0x57fc7e
lea eax, [ebp - 0x14]
call fcn.0055bb60
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0xb
lea eax, [ebp - 0xe0]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.file_auto_renamed_to__s
mov edx, 5
call fcn.00579da0
jmp 0x57fcfd
mov eax, dword [ebp - 4]
cmp dword [eax + 0x6c], 0
je 0x57fc9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + 0x6c]
call ebx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
cmp eax, 3
jne 0x57fcc8
mov eax, dword [ebp - 0xc]
mov ecx, str.overwrite__canceled_by_user
mov edx, 5
call fcn.00579e90
mov eax, dword [ebp - 4]
mov byte [eax + 4], 1
mov byte [ebp - 0x10], 0
jmp 0x580417
mov eax, dword [ebp - 0x48]
cmp eax, 2
jne 0x57fceb
mov eax, dword [ebp - 0xc]
mov ecx, str.file_skipped_by_user
mov edx, 5
call fcn.00579e90
mov byte [ebp - 0x10], 1
jmp 0x580417
mov eax, dword [ebp - 0xc]
mov ecx, str.Overwrite_confirmed
mov edx, 5
call fcn.00579e90
cmp dword [0x7cf280], 0
je 0x57fd8f
mov eax, dword [ebp - 0xc]
mov ecx, str.using_a_license
mov edx, 4
call fcn.00579e90
mov edx, dword [ebp - 0xc]
mov eax, dword [0x7cf280]
call fcn.00491fd0
mov byte [ebp - 0x74], al
test al, al
jne 0x57fd93
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and edx, 0x200000
mov eax, 0
test eax, eax
jne 0x57fd93
test edx, edx
jne 0x57fd93
mov eax, dword [0x7cf280]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0xb
lea eax, [ebp - 0xe0]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.License_module_does_not_allow_saving._File_saving_process_canceled._Msg_s
mov edx, 4
call fcn.00579da0
mov eax, dword [ebp - 4]
mov byte [eax + 4], 1
mov byte [ebp - 0x10], 0
jmp 0x580417
mov byte [ebp - 0x74], 1
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call dword [edx + 0x9c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov byte [ebp - 0x40], 0
lea eax, [ebp - 0x68]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0x11
lea eax, [ebp - 0xe0]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.Saving_now__file_size_d
mov edx, 5
call fcn.00579da0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx]
call dword [ecx + 0xac]
mov byte [ebp - 0x3c], al
movzx eax, byte [ebp - 0x3c]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0
lea eax, [ebp - 0xe0]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.PreSave_result:__d__1save_main_data_allowed_
mov edx, 5
call fcn.00579da0
mov dword [ebp - 0x2c], 0xffffffff
cmp byte [ebp - 0x3c], 0
je 0x580104
mov eax, dword [ebp - 0x14]
call fcn.0055aad0
mov dword [ebp - 0x2c], eax
cmp eax, 0xffffffff
jne 0x57fe70
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0xb
lea eax, [ebp - 0xe0]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.Error_creating_file__s._Wrong_path_filename_or_diskfull.
mov edx, 2
call fcn.00579da0
jmp 0x580139
lea ecx, [ebp - 0xd8]
lea edx, [ebp - 0xf8]
mov eax, 1
call fcn.0040d0e0
call fcn.0040f290
push eax
test eax, eax
jne 0x5800e8
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x58], 0xbb8
mov eax, dword [ebp - 4]
add eax, 0x40
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], 0x11
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call dword [edx + 0x9c]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], edx
lea eax, [ebp - 0x110]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], 0x10
lea eax, [ebp - 0x108]
push eax
push 1
mov eax, dword [ebp - 0xc]
mov ecx, str.TotalBytesProcessed_d__item_size_d
mov edx, 5
call fcn.00579da0
mov esi, esi
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x5c]
mov dword [ebp - 0x6c], edx
mov eax, edx
sar eax, 0x1f
cmp eax, dword [ebp - 0x64]
ja 0x57ff26
jb 0x57ff2c
cmp edx, dword [ebp - 0x68]
jbe 0x57ff2c
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x58]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx]
call dword [ebx + 0xa4]
mov dword [ebp - 0x50], eax
test eax, eax
jle 0x5800ab
mov al, byte [ebp - 0x74]
test al, al
jne 0x58003f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and edx, 0x200000
mov eax, 0
test eax, eax
ja 0x57ff85
jb 0x58003f
test edx, edx
jbe 0x58003f
mov eax, dword [ebp - 0x58]
test eax, eax
jle 0x58003f
mov edx, dword [ebp - 0x50]
mov eax, edx
sar eax, 0x1f
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0x58]
mov eax, edx
sar eax, 0x1f
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0xfc]
jl 0x57ffd6
jg 0x57ffe4
cmp eax, dword [ebp - 0x100]
jae 0x57ffe4
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0x104]
jmp 0x57fff0
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x5c], eax
dec eax
mov dword [ebp - 0x54], 0
cmp eax, dword [ebp - 0x54]
jl 0x58002a
dec dword [ebp - 0x54]
nop
inc dword [ebp - 0x54]
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x58]
mov edx, dword [ebp - 0x54]
add ecx, edx
movzx edx, byte [ecx]
xor edx, 0xa
mov ecx, dword [ebp - 4]
mov ebx, dword [ecx + 0x58]
mov ecx, dword [ebp - 0x54]
add ebx, ecx
mov byte [ebx], dl
cmp eax, dword [ebp - 0x54]
jg 0x580004
mov eax, dword [ebp - 0x5c]
sub dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x44]
or edx, 0xc
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x58]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x2c]
call fcn.00422030
mov dword [ebp - 0x4c], eax
cmp eax, dword [ebp - 0x50]
je 0x580061
mov byte [ebp - 0x40], 1
jmp 0x5800d6
mov edx, dword [ebp - 0x50]
mov eax, edx
sar eax, 0x1f
add edx, dword [ebp - 0x38]
adc eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x50]
mov eax, edx
sar eax, 0x1f
mov ecx, dword [ebp - 0x68]
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x64]
sbb ecx, eax
mov eax, ecx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x50]
mov eax, edx
sar eax, 0x1f
add edx, dword [ecx + 0x40]
adc eax, dword [ecx + 0x44]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x40], edx
mov dword [ecx + 0x44], eax
mov eax, ebp
call fcn.005805d0
mov eax, dword [ebp - 0x50]
test eax, eax
jle 0x5800d6
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
test edx, edx
jb 0x5800d6
ja 0x5800c9
test eax, eax
jbe 0x5800d6
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 0
je 0x57ff0c
mov eax, dword [ebp - 0xc]
mov ecx, str.Closing_file
mov edx, 5
call fcn.00579e90
call fcn.0040d3b0
mov eax, dword [ebp - 0x2c]
call fcn.0055b5c0
pop eax
test eax, eax
je 0x580102
dec eax
test eax, eax
call fcn.0040d520
jmp 0x580139
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call dword [edx + 0x9c]
add eax, dword [ebx + 0x40]
adc edx, dword [ebx + 0x44]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], edx
mov eax, ebp
call fcn.005805d0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
add ecx, 1
adc edx, 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], edx
cmp byte [ebp - 0x40], 0
je 0x58033c
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call dword [edx + 0x9c]
push edx
push eax
mov eax, ebp
call fcn.005804b0
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0xb
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call dword [edx + 0x9c]
sub eax, dword [ebp - 0x68]
sbb edx, dword [ebp - 0x64]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], 0x10
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call dword [edx + 0x9c]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], 0x10
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe8], 0
lea eax, [ebp - 0x110]
push eax
push 5
mov eax, dword [ebp - 0xc]
mov ecx, str.Write_error_occured_saving_file__s._Ofs_d__d._bytesRead_d__byteswritten_d._DiskFull_checking:_dfRes_d
mov edx, 2
call fcn.00579da0
mov byte [ebp - 0x40], 0
mov eax, dword [ebp - 0x70]
cmp eax, 2
jne 0x58030c
lea eax, [ebp - 0x114]
call fcn.00404c10
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
lea edx, [ebp - 0x114]
call fcn.00419530
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x1c]
call fcn.00408350
mov eax, dword [ebp - 0x1c]
call fcn.00559f20
test al, al
jne 0x580306
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0xb
lea eax, [ebp - 0x110]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.creating_dir:__s
mov edx, 4
call fcn.00579da0
mov eax, dword [ebp - 0x1c]
call fcn.0055b3b0
test al, al
jne 0x580306
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0xb
lea eax, [ebp - 0x110]
push eax
push 0
mov eax, dword [ebp - 0xc]
mov ecx, str.error_creating_dir:__s
mov edx, 2
call fcn.00579da0
mov byte [ebp - 0x10], 0
jmp 0x580417
mov byte [ebp - 0x44], 0
jmp 0x58033c
mov eax, dword [ebp - 0x70]
cmp eax, 1
jne 0x58031a
mov byte [ebp - 0x44], 1
jmp 0x58033c
mov eax, dword [ebp - 0xc]
mov ecx, str.DoCheckDiskFull_user_resultcancel
mov edx, 4
call fcn.00579e90
mov eax, dword [ebp - 4]
mov byte [eax + 4], 1
mov byte [ebp - 0x10], 0
jmp 0x580417
mov eax, dword [ebp - 4]
mov al, byte [eax + 4]
test al, al
jne 0x58037d
cmp byte [ebp - 0x44], 0
je 0x58037d
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x58037d
test edx, edx
jne 0x58037d
mov eax, dword [ebp - 0xc]
mov ecx, 0x7629cc
mov edx, 5
call fcn.00579e90
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx]
call dword [ecx + 0xb0]
mov eax, dword [ebp - 4]
mov al, byte [eax + 4]
test al, al
sete byte [ebp - 0x10]
cmp byte [ebp - 0x44], 0
je 0x57fb40
call fcn.0040d3b0
pop eax
test eax, eax
je 0x58041f
mov eax, 0x6dc92c
call fcn.0040d580
test eax, eax
je 0x580412
mov dword [ebp - 0xd0], eax
lea ecx, [ebp - 0xdc]
lea edx, [ebp - 0x110]
mov eax, 1
call fcn.0040d0e0
call fcn.0040f290
push eax
test eax, eax
jne 0x5803ed
mov eax, dword [ebp - 4]
inc dword [eax + 0x60]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc]
call fcn.0057a020
mov byte [ebp - 0x10], 0
call fcn.0040d3b0
pop eax
test eax, eax
je 0x580406
call fcn.0040d490
call fcn.0040d5e0
call fcn.0040d520
call fcn.0040d3f0
call fcn.0040d5e0
jmp 0x58041f
call fcn.0040d520
call fcn.0040d3b0
pop eax
jmp 0x580429
mov eax, dword [0x7cefc0]
call fcn.004157f0
call fcn.0040d3b0
lea eax, [ebp - 0x114]
call fcn.00404c10
mov dword [ebp - 0x114], 0
lea eax, [ebp - 0xcc]
call fcn.00404c10
mov dword [ebp - 0xcc], 0
lea eax, [ebp - 0x14]
call fcn.00404c10
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x18]
call fcn.00404c10
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x1c]
call fcn.00404c10
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 8]
call fcn.00404c10
pop eax
test eax, eax
je 0x580497
call fcn.0040d520
mov al, byte [ebp - 0x10]
mov ebx, dword [ebp - 0x118]
leave
ret