Function at 0x100449b0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10088668
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x22d4
call fcn.100790e0
mov eax, dword [0x100a5c90]
xor eax, esp
mov dword [esp + 0x22d0], eax
push ebx
push esi
push edi
mov eax, dword [0x100a5c90]
xor eax, esp
push eax
lea eax, [esp + 0x22e8]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [0x100a6d3c]
xor edi, edi
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0x20]
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], edi
cmp eax, edi
je 0x10044c44
cmp eax, 1
je 0x10044a61
call fcn.1000f210
xor ecx, ecx
cmp eax, 2
sete cl
cmp ecx, edi
je 0x10044c3e
mov dword [0x100a6d3c], 1
xor edx, edx
mov eax, esi
mov word [esp + 0x90], dx
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x10044a82
sub eax, edx
sar eax, 1
push eax
mov eax, esi
lea esi, [esp + 0x94]
call fcn.10003a30
lea eax, [esp + 0x74]
push eax
mov ebx, esi
mov dword [esp + 0x22f4], edi
call fcn.1004f1c0
add esp, 4
mov esi, 8
mov byte [esp + 0x22f0], 2
cmp dword [esp + 0xa4], esi
jb 0x10044adc
mov ecx, dword [esp + 0x90]
push ecx
call fcn.10066b10
add esp, 4
xor edx, edx
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], 0
mov word [esp + 0x90], dx
cmp dword [esp + 0x84], edx
jbe 0x10044cdc
mov eax, dword [esp + 0x74]
cmp dword [esp + 0x88], esi
jae 0x10044b1a
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10044cdc
shr eax, 4
not eax
and eax, 1
je 0x10044cdc
lea eax, [esp + 0xac]
push eax
call fcn.10034300
mov byte [esp + 0x22f0], 3
mov ecx, dword [esp + 0x74]
cmp dword [esp + 0x88], esi
jae 0x10044b5e
lea ecx, [esp + 0x74]
lea edx, [esp + 0xac]
call fcn.10034cf0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0xc8]
cmp cl, byte [eax + 0x10091754]
jne 0x10044cc8
inc eax
cmp eax, 9
jl 0x10044b70
lea ecx, [esp + 0xac]
call fcn.10034b10
test eax, eax
je 0x10044cc8
lea ecx, [esp + 0xac]
call fcn.10034920
test al, al
je 0x10044cc8
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
push ebx
call dword [0x100ac6c4]
push ebx
push str.file___s
mov edi, eax
call fcn.1002c180
mov esi, eax
call fcn.10054fe0
add esp, 8
mov eax, ebx
lea ecx, [esp + 0x58]
call fcn.100036d0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x58]
push edx
push edi
add ecx, 0x920
mov byte [esp + 0x22f8], 4
call fcn.1004f400
lea ecx, [esp + 0x58]
call fcn.10003710
lea esi, [esp + 0xac]
call fcn.10034420
lea ecx, [esp + 0x74]
call fcn.10003710
mov eax, edi
jmp 0x100459d8
mov dword [0x100a6d3c], edi
mov edi, dword [esp + 0x18]
call fcn.1002b1b0
test eax, eax
je 0x10044c59
mov dword [esp + 0x20], 1
mov eax, dword [0x100a6d3c]
xor ebx, ebx
cmp eax, ebx
je 0x1004575d
cmp eax, 1
je 0x10044c8c
call fcn.1000f210
xor ecx, ecx
cmp eax, 2
sete cl
cmp ecx, ebx
je 0x10045819
mov dword [0x100a6d3c], 1
cmp dword [0x100aa1c0], ebx
jne 0x10045542
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x22f0], 0x13
cmp eax, ebx
je 0x10045530
mov ecx, eax
call fcn.10011d60
jmp 0x10045532
lea esi, [esp + 0xac]
mov byte [esp + 0x22f0], 2
call fcn.10034420
mov eax, dword [0x100aa1c0]
test eax, eax
jne 0x10044d1a
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x22f0], 5
test eax, eax
je 0x10044d0b
mov ecx, eax
call fcn.10011d60
jmp 0x10044d0d
xor eax, eax
mov byte [esp + 0x22f0], 2
mov dword [0x100aa1c0], eax
call fcn.100130b0
test eax, eax
je 0x10044e72
mov esi, dword [esp + 0x14]
push esi
mov eax, str..udbx_journal
call fcn.100263b0
add esp, 4
test eax, eax
jne 0x10044d53
push esi
mov eax, str..udd_journal
call fcn.100263b0
add esp, 4
test eax, eax
je 0x10044e72
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x858], 0
je 0x10044e72
mov eax, esi
lea ecx, [esp + 0x3c]
call fcn.100036d0
push str._journa
mov ebx, 7
or ecx, 0xffffffff
lea edi, [esp + 0x40]
mov byte [esp + 0x22f4], 6
call fcn.10020970
add eax, 0xfffffffa
push eax
xor ecx, ecx
lea esi, [esp + 0x5c]
mov edx, edi
call fcn.10009bd0
mov edi, eax
lea esi, [esp + 0x3c]
mov byte [esp + 0x22f0], bl
call fcn.100037e0
mov ebx, 8
mov byte [esp + 0x22f0], 6
cmp dword [esp + 0x6c], ebx
jb 0x10044dd0
mov ecx, dword [esp + 0x58]
push ecx
call fcn.10066b10
add esp, 4
lea edx, [esp + 0xac]
push edx
call fcn.10034300
mov byte [esp + 0x22f0], bl
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x50], ebx
jae 0x10044df2
lea ecx, [esp + 0x3c]
lea edx, [esp + 0xac]
call fcn.10034cf0
lea ecx, [esp + 0xac]
call fcn.10034ee0
test eax, eax
jne 0x10044e55
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1034]
cmp dword [ecx + 0x1c], 0
jle 0x10044e4c
push 5
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea esi, [esp + 0xac]
call fcn.10034420
lea ecx, [esp + 0x3c]
call fcn.10003710
lea ecx, [esp + 0x74]
call fcn.10003710
or eax, 0xffffffff
jmp 0x100459d8
cmp dword [0x100aa294], 0
jne 0x10044e1e
lea esi, [esp + 0xac]
call fcn.10034420
lea ecx, [esp + 0x3c]
mov byte [esp + 0x22f0], 2
call fcn.10003710
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x858], 0
je 0x10044e96
mov esi, dword [esp + 0x14]
mov edi, edx
call fcn.1002b1b0
test eax, eax
je 0x10044e96
mov dword [esp + 0x20], 1
call fcn.1005cdb0
mov esi, eax
call fcn.1005ceb0
test eax, eax
je 0x10044ebf
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
call fcn.1002b1b0
test eax, eax
je 0x10044ebf
mov dword [esp + 0x20], 1
mov esi, dword [0x100aa1c0]
test esi, esi
jne 0x10044f01
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x22f0], 9
test eax, eax
je 0x10044eef
mov ecx, eax
call fcn.10011d60
jmp 0x10044ef1
xor eax, eax
mov esi, eax
mov byte [esp + 0x22f0], 2
mov dword [0x100aa1c0], esi
mov eax, dword [esi + 0x1a4]
lea ecx, [esi + 0x194]
push 0x10093318
mov edi, 2
call fcn.10004240
test eax, eax
jne 0x10044f88
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edi, ebx
call fcn.1002b1b0
test eax, eax
je 0x10044f82
mov eax, esi
lea edx, [eax + 2]
jmp 0x10044f40
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10044f40
sub eax, edx
sar eax, 1
mov edi, eax
mov eax, dword [0x100a70fc]
push esi
mov ecx, 0x100a70ec
call fcn.10004240
test eax, eax
jne 0x10044f6d
mov dword [esp + 0x20], 1
cmp dword [ebx + 0x858], 0
je 0x10044f82
push 0x100a70ec
mov eax, esi
call fcn.10003740
mov esi, dword [0x100aa1c0]
mov ebx, dword [esp + 0x14]
test esi, esi
jne 0x10044fc8
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x22f0], 0xa
test eax, eax
je 0x10044fb6
mov ecx, eax
call fcn.10011d60
jmp 0x10044fb8
xor eax, eax
mov esi, eax
mov byte [esp + 0x22f0], 2
mov dword [0x100aa1c0], esi
mov eax, esi
call fcn.10012c30
test eax, eax
je 0x100450d7
push ebx
mov eax, str..lnk
call fcn.100263b0
add esp, 4
test eax, eax
jne 0x100450d1
mov edi, dword [esp + 0x18]
mov esi, ebx
call fcn.1002b1b0
test eax, eax
je 0x100450d1
xor eax, eax
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], ax
mov esi, dword [esp + 0x14]
mov bl, 0xb
mov eax, esi
lea ecx, [esp + 0x58]
mov byte [esp + 0x22f0], bl
call fcn.100036d0
lea ecx, [esp + 0x3c]
push ecx
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x22f8], 0xc
call fcn.1001f900
add esp, 8
lea ecx, [esp + 0x58]
mov byte [esp + 0x22f0], bl
call fcn.10003710
mov eax, 8
cmp dword [esp + 0x4c], eax
jne 0x10045080
cmp dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
jae 0x10045073
lea eax, [esp + 0x3c]
push 0x2e
push eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
je 0x10045092
push esi
mov eax, str..tmp
call fcn.100263b0
add esp, 4
test eax, eax
je 0x100450a3
xor edx, edx
cmp dword [0x100aa28c], edx
setne dl
mov dword [0x100aa290], edx
push esi
mov eax, 0x10096db0
call fcn.100263b0
add esp, 4
neg eax
sbb eax, eax
neg eax
lea ecx, [esp + 0x3c]
mov dword [0x100aa28c], eax
mov byte [esp + 0x22f0], 2
call fcn.10003710
mov ebx, dword [esp + 0x14]
mov esi, dword [0x100aa1c0]
test esi, esi
jne 0x10045113
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x22f0], 0xd
test eax, eax
je 0x10045101
mov ecx, eax
call fcn.10011d60
jmp 0x10045103
xor eax, eax
mov esi, eax
mov byte [esp + 0x22f0], 2
mov dword [0x100aa1c0], esi
mov eax, esi
call fcn.10013060
test eax, eax
jne 0x1004513f
call fcn.10001170
lea ecx, [eax + 0x194]
mov eax, dword [ecx + 0x10]
push str.wpspdf
mov edi, 6
call fcn.10004240
test eax, eax
jne 0x10045158
mov edi, dword [esp + 0x18]
mov esi, ebx
call fcn.1002b1b0
test eax, eax
je 0x10045158
mov dword [0x100aa288], 0
call fcn.1004ad80
test eax, eax
je 0x10045181
cmp dword [0x100aa274], 0
je 0x10045181
mov edi, dword [esp + 0x18]
mov esi, ebx
call fcn.1002b1b0
test eax, eax
je 0x10045181
mov dword [esp + 0x20], 1
cmp dword [0x100aa278], 0
je 0x100451a1
mov edi, dword [esp + 0x18]
mov esi, ebx
call fcn.1002b1b0
test eax, eax
je 0x100451a1
mov dword [esp + 0x20], 1
cmp dword [0x100aa1c0], 0
jne 0x100451df
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x22f0], 0xe
test eax, eax
je 0x100451d0
mov ecx, eax
call fcn.10011d60
jmp 0x100451d2
xor eax, eax
mov byte [esp + 0x22f0], 2
mov dword [0x100aa1c0], eax
mov ecx, dword [0x100aa1c0]
mov eax, dword [ecx + 0x1a4]
add ecx, 0x194
push str.wpspdf
mov edi, 6
call fcn.10004240
test eax, eax
jne 0x10045215
push 0x14
mov eax, str.PICLESOFTETTEMPFILE
mov esi, 0x100a70b4
call fcn.10003a30
cmp dword [0x100aa1c0], 0
jne 0x10045253
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x22f0], 0xf
test eax, eax
je 0x10045244
mov ecx, eax
call fcn.10011d60
jmp 0x10045246
xor eax, eax
mov byte [esp + 0x22f0], 2
mov dword [0x100aa1c0], eax
mov ecx, dword [0x100aa1c0]
mov eax, dword [ecx + 0x1a4]
add ecx, 0x194
push str.winword
mov edi, 7
call fcn.10004240
test eax, eax
jne 0x1004545e
push ebx
mov eax, 0x10096a30
call fcn.100263b0
add esp, 4
test eax, eax
je 0x1004545e
mov esi, edi
xor edi, edi
xor eax, eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], edi
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x14]
mov bl, 0x10
lea ecx, [esp + 0x58]
mov byte [esp + 0x22f0], bl
call fcn.100036d0
lea ecx, [esp + 0x3c]
push ecx
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x22f8], 0x11
call fcn.1001f900
add esp, 8
mov byte [esp + 0x22f0], bl
cmp dword [esp + 0x6c], 8
jb 0x100452f1
mov edx, dword [esp + 0x58]
push edx
call fcn.10066b10
add esp, 4
mov ebx, dword [esp + 0x3c]
xor eax, eax
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x50]
mov word [esp + 0x58], ax
mov dword [esp + 0x68], edi
mov eax, ebx
cmp esi, 8
jae 0x10045313
lea eax, [esp + 0x3c]
mov ecx, 0x10096de4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1004533e
cmp dx, di
je 0x1004533a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1004533e
add eax, 4
add ecx, 4
cmp dx, di
jne 0x10045318
xor eax, eax
jmp 0x10045343
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x10045427
mov eax, ebx
cmp esi, 8
jae 0x10045356
lea eax, [esp + 0x3c]
mov ecx, 0x10096dec
jmp 0x10045360
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10045386
test dx, dx
je 0x10045382
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10045386
add eax, 4
add ecx, 4
test dx, dx
jne 0x10045360
xor eax, eax
jmp 0x1004538b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10045427
cmp dword [esp + 0x4c], 0
je 0x10045427
xor ecx, ecx
push 0xffe
push ecx
lea edx, [esp + 0x12e6]
push edx
mov word [esp + 0x12e8], cx
call fcn.1006b580
add esp, 0xc
xor eax, eax
push 0xffe
push eax
lea ecx, [esp + 0x2e6]
push ecx
mov word [esp + 0x2e8], ax
call fcn.1006b580
mov ebx, dword [esp + 0x20]
add esp, 0xc
push ebx
lea edx, [esp + 0x2e0]
push 0x10095894
push edx
mov edx, 0x800
call fcn.1004b9b0
add esp, 0xc
lea edi, [esp + 0x12dc]
lea esi, [esp + 0x2dc]
call fcn.10042a60
mov eax, edi
call fcn.1001f5f0
test eax, eax
je 0x10045427
push 0x100a70b4
mov eax, ebx
call fcn.10003740
mov byte [esp + 0x22f0], 2
cmp dword [esp + 0x50], 8
jb 0x10045443
mov eax, dword [esp + 0x3c]
push eax
call fcn.10066b10
add esp, 4
mov ebx, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], cx
cmp dword [0x100aa1c0], 0
jne 0x1004549c
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x22f0], 0x12
test eax, eax
je 0x1004548d
mov ecx, eax
call fcn.10011d60
jmp 0x1004548f
xor eax, eax
mov byte [esp + 0x22f0], 2
mov dword [0x100aa1c0], eax
mov ecx, dword [0x100aa1c0]
mov eax, dword [ecx + 0x1a4]
add ecx, 0x194
push str.photoshop
mov edi, 9
call fcn.10004240
test eax, eax
jne 0x100454e8
call fcn.1005cdb0
mov esi, eax
call fcn.1005ceb0
test eax, eax
je 0x100454e8
mov edi, dword [esp + 0x18]
mov esi, ebx
call fcn.1002b1b0
test eax, eax
je 0x100454e8
mov dword [esp + 0x20], 1
mov dword [esp + 0x22f0], 0xffffffff
cmp dword [esp + 0x88], 8
jb 0x1004550a
mov edx, dword [esp + 0x74]
push edx
call fcn.10066b10
add esp, 4
mov esi, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
jmp 0x10044c59
xor eax, eax
mov dword [esp + 0x22f0], 0xffffffff
mov dword [0x100aa1c0], eax
mov ecx, dword [0x100aa1c0]
mov eax, dword [ecx + 0x1a4]
add ecx, 0x194
push str.acrord32
mov edi, 8
call fcn.10004240
test eax, eax
jne 0x100455af
mov edi, dword [esp + 0x18]
call fcn.1002b1b0
test eax, eax
jne 0x100455af
mov edx, edi
cmp dword [edx + 0x858], ebx
je 0x100455af
mov ecx, esi
call fcn.1003cc00
test eax, eax
jne 0x100455af
push 0x3000
push 0x10096994
push str.S_MR_tg
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push 5
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x100459d8
mov eax, dword [0x100a6d3c]
cmp eax, ebx
je 0x1004575d
cmp eax, 1
je 0x100455e0
call fcn.1000f210
xor ecx, ecx
cmp eax, 2
sete cl
cmp ecx, ebx
je 0x10045819
mov dword [0x100a6d3c], 1
cmp dword [0x100aa1c0], ebx
jne 0x10045623
push 0x1e8
call fcn.10067232
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x22f0], 0x14
cmp eax, ebx
je 0x10045611
mov ecx, eax
call fcn.10011d60
jmp 0x10045613
xor eax, eax
mov dword [esp + 0x22f0], 0xffffffff
mov dword [0x100aa1c0], eax
mov ecx, dword [0x100aa1c0]
mov eax, dword [ecx + 0x1a4]
add ecx, 0x194
push 0x10093310
mov edi, 3
call fcn.10004240
test eax, eax
je 0x10045698
call fcn.10001170
call fcn.10012c80
test eax, eax
jne 0x10045698
call fcn.10001170
lea ecx, [eax + 0x194]
mov eax, dword [ecx + 0x10]
push str.wpspdf
mov edi, 6
call fcn.10004240
test eax, eax
je 0x10045698
call fcn.10001170
lea ecx, [eax + 0x194]
mov eax, dword [ecx + 0x10]
push str.acrord32
mov edi, 8
call fcn.10004240
test eax, eax
jne 0x100456dc
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x858], ebx
je 0x100456dc
push esi
mov eax, str..txt
call fcn.100263b0
add esp, 4
test eax, eax
jne 0x100456c8
push esi
mov eax, str..txt_Tmp
call fcn.100263b0
add esp, 4
test eax, eax
je 0x100456dc
push 0x3000
push 0x10096994
push 0x100969a0
jmp 0x10045598
mov eax, dword [0x100a6d3c]
cmp eax, ebx
je 0x1004575d
cmp eax, 1
je 0x10045709
call fcn.1000f210
xor ecx, ecx
cmp eax, 2
sete cl
cmp ecx, ebx
je 0x10045819
mov dword [0x100a6d3c], 1
call fcn.10001170
call fcn.10013060
test eax, eax
je 0x1004575d
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x858], ebx
je 0x1004575d
push esi
mov eax, str..txt
call fcn.100263b0
add esp, 4
test eax, eax
jne 0x10045747
push esi
mov eax, str..txt_Tmp
call fcn.100263b0
add esp, 4
test eax, eax
je 0x1004575d
push esi
mov eax, str.WindowsCookies
call fcn.100263b0
add esp, 4
test eax, eax
je 0x100456c8
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x30]
push esi
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
call dword [0x100ac6c4]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x24], eax
mov eax, dword [0x100a72d4]
test eax, eax
je 0x1004582e
cmp eax, 1
je 0x100457bb
call fcn.1000f210
dec eax
neg eax
sbb eax, eax
inc eax
je 0x10045824
mov dword [0x100a72d4], 1
test esi, 0x4000000
je 0x1004583a
call fcn.10001170
lea ecx, [eax + 0x194]
mov eax, dword [ecx + 0x10]
push 0x10093318
mov edi, 2
call fcn.10004240
test eax, eax
je 0x10045805
call fcn.10001170
lea ecx, [eax + 0x194]
mov eax, dword [ecx + 0x10]
push 0x10093310
mov edi, 3
call fcn.10004240
test eax, eax
jne 0x1004582e
push 0x10096e58
mov ecx, 0x100aa2d0
call fcn.10005670
add esp, 4
jmp 0x1004583a
mov dword [0x100a6d3c], ebx
jmp 0x1004575d
mov dword [0x100a72d4], 0
test esi, 0x4000000
jne 0x100459d6
sub esp, 0x1c
mov ecx, esp
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov word [ecx], ax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], esp
lea edi, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x10045860
sub eax, edi
mov edi, dword [esp + 0x30]
sar eax, 1
push eax
mov eax, edi
mov esi, ecx
call fcn.10003a30
call fcn.10050fb0
test eax, eax
jne 0x100459d6
cmp dword [esp + 0x20], eax
je 0x100459cb
cmp ebx, 0xffffffff
je 0x100459cb
push ebx
call dword [0x100ac70c]
lea esi, [esp + 0x2dc]
call fcn.1002fd90
push 0
mov ecx, esi
mov dword [esp + 0x22f4], 0x15
call fcn.10032bd0
push 0
push edi
mov ecx, esi
call fcn.100300c0
test eax, eax
je 0x10044e44
call fcn.1004b980
test eax, eax
je 0x100458f2
push edi
push 0x10096e70
mov esi, 0x100aa2d0
call fcn.100059e0
add esp, 8
lea ecx, [esp + 0xac]
push ecx
call fcn.10034300
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push 3
push ecx
push edx
push eax
push edi
mov byte [esp + 0x230c], 0x16
call dword [0x100ac6c4]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x24], eax
cmp ebx, 0xffffffff
je 0x100459bf
mov edi, ebx
lea ecx, [esp + 0xac]
call fcn.10034de0
push 1
push 0
push 0x200
push ebx
call dword [0x100ac6e4]
mov eax, dword [esp + 0x14]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
call fcn.100036d0
mov esi, dword [esp + 0x34]
lea edi, [esi + 0x840]
lea ecx, [esp + 0x74]
call fcn.1005ab80
mov byte [esp + 0x22f0], 0x17
cmp dword [esp + 0x6c], 8
mov edx, dword [esp + 0x58]
jae 0x10045998
lea edx, [esp + 0x58]
mov eax, dword [esp + 0x28]
and eax, 0x40000000
push eax
push ebx
add esi, 0x850
push esi
lea ecx, [esp + 0xb8]
call fcn.1004bc00
lea ecx, [esp + 0x58]
call fcn.10003710
lea esi, [esp + 0xac]
call fcn.10034420
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
mov ecx, dword [esp + 0x22e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x22d0]
xor ecx, esp
call fcn.10066b1b
mov esp, ebp
pop ebp
ret 0x1c