Function at 0x100089ba
Capabilities:
Extract resource via kernel32 functions
Get disk information
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10063f24
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x198
mov eax, edx
push ebx
push esi
push edi
cmp byte [eax], 0x50
mov esi, ecx
mov dword [esp + 0x40], eax
jne 0x10009af3
cmp byte [eax + 1], 0x4b
jne 0x10009af3
push dword [esp + 0x4c]
movdqa xmm0, xmmword [0x10072eb0]
lea eax, [esp + 0x174]
push eax
xor ebx, ebx
lea eax, [esp + 0x168]
push eax
push ebx
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], ebx
movdqu xmmword [esp + 0x170], xmm0
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
call fcn.100043b1
push 3
pop esi
push esi
lea ecx, [esp + 0xc4]
mov dword [esp + 0x1b0], ebx
call fcn.10001cd1
mov byte [esp + 0x1ac], 1
mov dword [esp + 0x24], 0x4b0ad8ea
mov dword [esp + 0x2c], 0xfffffff9
mov dword [esp + 0x14], ebx
jmp 0x10008a84
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc0]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10008a6e
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x68]
mov dword [eax], ebx
push dword [esp + 0x4c]
movdqa xmm0, xmmword [0x10072ea0]
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x188]
mov dword [esp + 0xb0], ebx
push eax
push ebx
lea ecx, [esp + 0xb8]
mov dword [esp + 0xbc], ebx
movdqu xmmword [esp + 0x190], xmm0
mov dword [esp + 0xc0], ebx
call fcn.100043b1
mov eax, dword [edi + 8]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [edi + 8]
mov dword [esp + 0x2c], eax
call fcn.10001d54
mov eax, dword [esp + 0xc0]
inc dword [eax]
cmp dword [eax], esi
jle 0x10008a97
lea ecx, [esp + 0xc0]
call fcn.10001d54
or dword [esp + 0x1ac], 0xffffffff
lea ecx, [esp + 0x68]
call fcn.10001d54
mov ecx, dword [esp + 0x40]
xor edi, edi
inc edi
mov al, byte [ecx + 2]
mov dword [esp + 0x30], 0xa2cb51db
mov dword [esp + 0x2c], 0xa13b2885
mov byte [esp + 0x3b], al
mov dword [esp + 0x14], ebx
jmp 0x10008b5a
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x50], 0x47df
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x10008b4a
dec dword [esp + 0x50]
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], ebx
jl 0x10008c10
mov dword [esp + 0x10], 0x43c4ab27
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jl 0x10008ba5
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10008b9f
push 0x15b
push 0x1b9
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
dec dword [esp + 0x10]
jns 0x10008b84
mov dword [esp + 0x10], ebx
jmp 0x10008c00
mov dword [esp + 0x14], 0x7d2703d9
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10008bc4
call dword [sym.imp.USER32.dll_CreateMenu]
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
jl 0x10008bfc
mov dword [esp + 0x2c], 0x7e2f9d44
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x50], ebx
je 0x10008be8
mov eax, edi
cmp dword [esp + 0x10], ebx
jne 0x10008bea
mov eax, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x2c], 0xffff
dec dword [esp + 0x14]
jns 0x10008bce
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x10008bab
dec dword [esp + 0x30]
jns 0x10008b72
mov edi, dword [esp + 0x40]
lea ecx, [esp + 0xec]
push esi
mov al, byte [edi + 3]
mov byte [esp + 0x23], al
call fcn.10001cd1
mov dword [esp + 0x18], 0xf57a7c20
mov dword [esp + 0x14], ebx
jmp 0x10008c4c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xec]
mov dword [eax + ecx*4], 0x77862fd4
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10008c36
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10008c6a
push ebx
push ebx
push 0x1496
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov dword [esp + 0x18], ebx
jmp 0x10008c95
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10008c81
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xec]
cmp dword [eax + ecx*4], ebx
jne 0x10008c9c
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x10008c70
lea ecx, [esp + 0xec]
call fcn.10001d54
movzx edx, byte [esp + 0x3b]
add edx, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 0xffffffff
jmp 0x10008cf1
mov dword [esp + 0x14], 9
mov dword [esp + 0x14], 0xffffffec
jmp 0x10008ce6
mov dword [esp + 0x2c], 0x3c89
cmp dword [esp + 0x2c], ebx
jne 0x10008ced
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 7
je 0x10008cd4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1c
jl 0x10008cc2
mov dword [esp + 0x10], 0xec3d7d49
lea eax, [edx + edi]
mov dword [esp + 0x24], 0x9e63
mov dword [esp + 0x18], 0x1fe3d2f5
mov dword [esp + 0x34], 0xdfe1602a
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], ebx
jmp 0x10008d38
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x150], 8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10008d25
xor ecx, ecx
mov dword [esp + 0xc], ebx
inc ecx
jmp 0x10008d5b
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x80], 0x6e836ea0
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x10008d48
cmp dword [esp + 0x10], ebx
je 0x10008e6a
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0xc], 0xf1ba1372
mov dword [esp + 0x14], ebx
jmp 0x10008d94
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x90], 0x89c089ce
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10008d81
mov esi, dword [esp + 0x10]
mov dword [esp + 0x150], esi
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [esp + 0x30], ecx
mov ecx, 0xfffe
mov eax, dword [esp + 0x30]
sub ecx, eax
mov eax, dword [esp + 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x94]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp esi, ecx
jg 0x10008df9
cmp dword [esp + 0x18], ebx
je 0x10008df9
xor edi, edi
inc edi
jmp 0x10008dfb
mov edi, ebx
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x24]
cmp edi, eax
mov eax, dword [esp + 0x98]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x150]
neg eax
cmp eax, dword [esp + 0x18]
jge 0x10008e47
mov eax, dword [esp + 0x154]
mov eax, dword [esp + 0xc]
xor edx, edx
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
cmp eax, ecx
setle dl
xor ecx, ecx
mov dword [esp + 0x34], edx
inc ecx
mov edx, dword [esp + 0x20]
jmp 0x10008ec6
mov dword [esp + 0x14], ebx
jmp 0x10008e83
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x190], 0x87d7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x10008e70
mov dword [esp + 0x10], 0xfffffff4
jmp 0x10008ebf
mov dword [esp + 0x34], 0x85e8a77f
cmp dword [esp + 0x198], ebx
je 0x10008eb7
mov dword [esp + 0x34], 0xfffffff9
mov dword [esp + 0x34], 0xc1ed5297
jmp 0x10008ebb
mov dword [esp + 0x34], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x12
jle 0x10008e94
mov dword [esp + 0xc], 0xfffffff8
add edx, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0xfffffffc
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ebx
jmp 0x10008ef3
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x44], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10008ee7
mov dword [esp + 0xc], 0xf09c
mov esi, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
neg esi
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
sbb esi, esi
mov eax, dword [esp + 0x44]
neg esi
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [esp + 0x48]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp esi, ecx
mov ecx, dword [esp + 0x48]
setg al
xor edi, edi
add eax, 2
inc edi
imul ecx, eax
cmp ecx, dword [esp + 0x48]
jl 0x10008f8f
mov dword [esp + 0x24], 0x4801465e
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], ebx
jl 0x10008f86
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x44], ecx
dec dword [esp + 0xc]
jns 0x10008f70
inc dword [esp + 0x24]
jmp 0x10009085
mov dword [esp + 0x10], 0xb4322e7c
mov dword [esp + 0x30], 0x68e0133d
mov dword [esp + 0x34], 7
mov dword [esp + 0xc], 0xffffffea
cmp dword [esp + 0xc], 0xffffffe5
jne 0x10009062
mov dword [esp + 0x24], 3
mov dword [esp + 0x30], 0xfffffffa
mov dword [esp + 0x14], 0x46bac60
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], ebx
jl 0x10009005
mov byte [esp + 0x3b], bl
cmp byte [esp + 0x3b], 0
je 0x10008fff
push ebx
push 0x420
push ebx
push ebx
push 0x5fb
push 0xc55
call dword [sym.imp.USER32.dll_ToAsciiEx]
dec dword [esp + 0x18]
jns 0x10008fdc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], 0x820f90f5
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
dec dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
dec dword [esp + 0xc]
jmp 0x10008faf
mov dword [esp + 0x14], 9
jmp 0x1000907e
mov dword [esp + 0x34], 0x573c098b
cmp dword [esp + 0x34], ebx
jne 0x10009085
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0xe
jl 0x1000906c
movzx eax, byte [esp + 0x1f]
add dword [esp + 0x20], eax
mov dword [esp + 0x10], ebx
push 2
mov dword [esp + 0x18], 0x446b
mov dword [esp + 0x10], ebx
pop esi
jmp 0x100090b2
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xe4], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x100090a3
mov dword [esp + 0xc], ebx
jmp 0x100090ce
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x54], 0x4cd45360
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x100090be
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x100090e6
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [esp + 0x58], ebx
jmp 0x1000928f
mov dword [esp + 0x18], 0x1738ab65
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1000910e
push ebx
push 0x26c9
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], ebx
jl 0x1000928b
push edi
lea ecx, [esp + 0xb8]
call fcn.10001cd1
xor edx, edx
mov dword [esp + 0x1ac], esi
mov dword [esp + 0x10], ebx
inc edx
jmp 0x1000914f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xb4]
mov dword [eax + ecx*4], 0x60a2fc53
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10009139
mov eax, dword [esp + 0x18]
cmp dword [esp + eax*4 + 0xe4], ebx
je 0x1000920b
push 3
lea ecx, [esp + 0x114]
call fcn.10001cd1
mov dword [esp + 0x10], ebx
jmp 0x10009190
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x110]
mov dword [eax + ecx*4], 0xfff7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1000917a
mov ecx, dword [esp + 0x110]
xor eax, eax
cmp dword [ecx], 0x63d62a0
setle al
xor edx, edx
test eax, eax
sets dl
xor eax, eax
inc edx
xor edi, edi
imul edx, dword [ecx + 4]
inc edi
inc edx
cmp edx, edi
setg al
xor ecx, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0xe4]
cmp dword [esp + 0x34], eax
setl cl
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xb4]
mov dword [eax], ecx
lea ecx, [esp + 0x110]
call fcn.10001d54
jmp 0x1000926d
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x34], 0x475678d5
mov dword [eax], 0xcd4fe930
mov dword [esp + 0x14], edx
cmp dword [esp + 0x14], ebx
jl 0x1000926a
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], ebx
jl 0x10009264
mov dword [esp + 0x30], 0xd0ee3b00
mov dword [esp + 0x30], edx
cmp dword [esp + 0x30], ebx
jl 0x1000925a
mov dword [esp + 0x34], 0xbc50133e
cmp dword [esp + 0x34], ebx
jne 0x1000925a
dec dword [esp + 0x30]
jns 0x10009246
mov dword [esp + 0x34], edx
dec dword [esp + 0x10]
jns 0x10009234
dec dword [esp + 0x14]
jns 0x1000922a
xor edi, edi
inc edi
or dword [esp + 0x1ac], 0xffffffff
lea ecx, [esp + 0xb4]
call fcn.10001d54
dec dword [esp + 0x18]
jns 0x1000911c
inc dword [esp + 0x58]
cmp dword [esp + 0x58], edi
jle 0x100090ef
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax]
call fcn.100089ae
mov dword [esp + 0x18], ebx
xor edx, edx
mov dword [esp + 0x10], 0x43eb6069
inc edx
mov dword [esp + 0x14], 0xe4562513
mov dword [esp + 0x34], 6
mov dword [esp + 0x24], 0x76acb8f
mov dword [esp + 0x24], 0x28cae2fe
mov dword [esp + 0x3c], 0xa7054f86
mov dword [esp + 0x24], edx
push 3
pop esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], 0x5e6b
mov dword [esp + 0x24], 0xb6b3eef5
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ebx
jmp 0x1000931a
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xf8], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1000930b
cmp dword [esp + 0x18], ebx
je 0x1000932a
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
cmp eax, 0x1fff6
setg cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
sub eax, 0x6dbc1c23
je 0x1000939c
mov dword [esp + 0x24], edx
cmp dword [esp + 0x24], ebx
je 0x10009391
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x10]
cmp eax, 0xc89d5037
setle cl
imul eax, ecx, 0x3e99
test eax, eax
jne 0x10009393
mov edx, ebx
mov dword [esp + 0x24], edx
jmp 0x10009460
mov dword [esp + 0x34], 0xde30eca6
lea ecx, [esp + 0x138]
mov dword [esp + 0x34], 0x60a2fc53
mov dword [esp + 0x34], 0xfffffff7
push 2
call fcn.10001cd1
xor edi, edi
mov dword [esp + 0x1ac], esi
inc edi
lea ecx, [esp + 0x144]
push edi
call fcn.10001cd1
xor edx, edx
inc edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], 0x95b2
mov dword [esp + 0xc], ebx
jmp 0x10009404
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x138]
mov dword [eax + ecx*4], 0xfe93046a
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x100093ee
mov dword [esp + 0xc], ebx
jmp 0x10009423
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x144]
mov dword [eax + ecx*4], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10009411
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1000943c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
dec dword [esp + 0x24]
lea ecx, [esp + 0x144]
call fcn.10001d54
or dword [esp + 0x1ac], 0xffffffff
lea ecx, [esp + 0x138]
call fcn.10001d54
mov dword [esp + 0x24], 0x3ac5b6cc
xor edx, edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
add ecx, 0xa
cmp eax, ecx
mov eax, 0xa4d94087
push esi
setl dl
sub edx, dword [esp + 0x40]
cmp eax, edx
mov eax, dword [esp + 0x104]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [esp + 0x100]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x18]
sete cl
sub eax, ecx
xor ecx, ecx
cmp eax, 2
mov eax, dword [esp + 0x24]
setne cl
add eax, dword [esp + 0x44]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x28], eax
call fcn.10001cd1
mov dword [esp + 0x1ac], 4
mov dword [esp + 0xc], 0x89b54615
mov dword [esp + 0x10], 0x78acc4b7
mov dword [esp + 0x20], ebx
jmp 0x10009512
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x84]
mov dword [eax + ecx*4], 0xad6f2ee
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x100094fc
push 2
xor edi, edi
mov dword [esp + 0x10], ebx
pop edx
inc edi
cmp dword [esp + 0xc], edx
jg 0x10009696
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0xfffffff6
mov dword [esp + 0x14], edx
cmp dword [esp + 0x14], ebx
jl 0x10009687
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x84]
cmp dword [eax + ecx*4], edi
jl 0x1000956d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x84]
mov dword [eax + 8], ecx
jmp 0x1000961a
push edx
lea ecx, [esp + 0x130]
call fcn.10001cd1
mov dword [esp + 0x20], ebx
jmp 0x10009593
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x12c]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jl 0x10009580
mov dword [esp + 0x10], ebx
jmp 0x10009605
mov dword [esp + 0x34], 0xd5b6062c
mov dword [esp + 0x20], 0x7c0ce695
mov dword [esp + 0x20], 0x6de21e52
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
imul eax, dword [esp + 0xc]
mov dword [esp + 0x18], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jge 0x100095a0
lea ecx, [esp + 0x12c]
call fcn.10001d54
push 2
pop edx
mov dword [esp + 0x18], ebx
jmp 0x10009677
mov dword [esp + 0x10], ebx
jmp 0x1000966d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
cmp dword [eax + ecx*4], ebx
jne 0x10009673
mov dword [esp + 0x20], edx
cmp dword [esp + 0x20], ebx
jl 0x10009669
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10009660
push 0x207a
push 0x1944
push 0x571
call dword [sym.imp.USER32.dll_CheckDlgButton]
dec dword [esp + 0x20]
jns 0x10009640
push 2
pop edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jle 0x10009626
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jle 0x10009620
dec dword [esp + 0x14]
jns 0x10009546
cmp dword [esp + 0x18], ebx
jne 0x10009696
inc dword [esp + 0xc]
jmp 0x10009522
or dword [esp + 0x1ac], 0xffffffff
lea ecx, [esp + 0x84]
call fcn.10001d54
mov eax, dword [ebp + 8]
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
movdqa xmm0, xmmword [0x10072e50]
mov dword [eax], ecx
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x178]
mov dword [esp + 0x20], 0xcec3d7d4
push eax
push ebx
lea ecx, [esp + 0xac]
mov dword [esp + 0xac], ebx
movdqu xmmword [esp + 0x180], xmm0
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
call fcn.100043b1
mov dword [esp + 0x3c], ebx
dec dword [esp + 0x18]
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], esi
jg 0x10009748
mov edx, 0x144a
mov dword [esp + 0x3c], 0x5f0ed1ad
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x9c]
mov dword [eax + ecx*4], edx
xor ecx, ecx
mov eax, dword [esp + 0x3c]
cmp eax, edx
setle cl
mov dword [esp + 0x3c], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x10009719
lea ecx, [esp + 0x9c]
call fcn.10001d54
mov eax, dword [esp + 0x30]
shr eax, 2
mov dword [esp + 0x10], 9
inc eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], 0xffffffe4
jmp 0x10009799
mov dword [esp + 0x3c], 0x905d
cmp dword [esp + 0x3c], ebx
jne 0x100097a0
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10009795
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x11
jle 0x10009776
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
je 0x100097ba
mov edx, edi
cmp dword [esp + 0x34], ebx
jne 0x100097bc
mov edx, ebx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp edx, eax
push esi
setge cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov dword [esp + 0x120], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x124], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x128], eax
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x78]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x1c], ebx
call fcn.10001cd1
mov dword [esp + 0x2c], 0x98cbdb62
mov dword [esp + 0x20], ebx
jmp 0x10009821
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x74]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x10009812
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], 0xfffffff6
jne 0x1000991e
mov dword [esp + 0xc], ebx
mov dword [esp + 0x20], 0xc3414b58
mov dword [esp + 0xc], ebx
jmp 0x10009888
mov dword [esp + 0x2c], 0xaeb9ae77
mov dword [esp + 0x20], 0xffffffff
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x2c]
jne 0x1000987e
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x20]
mov eax, ebx
jle 0x10009880
mov eax, edi
mov dword [esp + 0x20], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x18
jle 0x10009848
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], 2
jg 0x1000990c
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x3c], 0x5452
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
imul ecx, dword [ebx + 4], 0xbcab
mov eax, dword [esp + 0x74]
push 0
cmp ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x40]
pop edx
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x74]
setle cl
cmp ecx, dword [eax + esi*4]
jne 0x100098e2
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x1000989e
xor ebx, ebx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff6
je 0x10009836
push 3
pop esi
lea ecx, [esp + 0x74]
call fcn.10001d54
mov ecx, dword [esp + 0x30]
mov edi, ebx
test ecx, ecx
je 0x10009c00
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x24]
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], 0x30f9
lea ecx, [esp + 0x104]
push 2
call fcn.10001cd1
push esi
lea ecx, [esp + 0xdc]
mov dword [esp + 0x1b0], 5
call fcn.10001cd1
mov dword [esp + 0x20], ebx
xor edx, edx
inc edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x2c], 0xad64de8c
mov dword [esp + 0x2c], 0x589d3895
mov dword [esp + 0xc], ebx
jmp 0x100099a6
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x104]
mov dword [eax + ecx*4], 0x3a00d0e7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x10009990
mov dword [esp + 0xc], ebx
jmp 0x100099c9
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xd8]
mov dword [eax + ecx*4], 9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x100099b3
mov dword [esp + 0xc], ebx
jmp 0x100099e1
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x4c], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x100099d5
cmp dword [esp + 0x18], ebx
jne 0x10009a21
mov eax, dword [esp + 0x104]
xor edx, edx
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82b4
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0xd8]
setle dl
add edx, 0xa56718e5
mov dword [eax + 8], edx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
xor edx, edx
mov eax, dword [esp + 0x18]
cmp ecx, eax
setle dl
mov dword [esp + 0x2c], edx
xor edx, edx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xd8]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
cmp ecx, eax
setle dl
mov dword [esp + 0x2c], edx
xor edx, edx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setle dl
mov dword [esp + 0x4c], edx
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10009a9b
push 0xc4f
push ebx
push ebx
push ebx
push 0x1dfb
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
lea ecx, [esp + 0xd8]
call fcn.10001d54
or dword [esp + 0x1ac], 0xffffffff
lea ecx, [esp + 0x104]
call fcn.10001d54
mov eax, dword [esp + 0x24]
mov edx, edi
and edx, esi
mov ecx, dword [eax]
mov edx, dword [esp + edx*4 + 0x11c]
call fcn.100089ae
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov dword [edx + ecx], eax
add ecx, 4
inc edi
mov dword [esp + 0x24], ecx
cmp edi, dword [esp + 0x30]
jb 0x10009941
jmp 0x10009c00
xor edi, edi
lea ecx, [esp + 0x5c]
inc edi
push edi
call fcn.10001cd1
mov dword [esp + 0x2c], 0x5e314a5e
xor ebx, ebx
mov dword [esp + 0x24], 0x42e40c18
mov dword [esp + 0x10], ebx
jmp 0x10009b2b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xcc], 0x85f70ad6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10009b18
mov dword [esp + 0x10], ebx
jmp 0x10009b4b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10009b38
mov eax, dword [esp + 0x5c]
mov dword [eax], 2
mov eax, dword [eax]
xor edx, edx
sub eax, 0xc6d2
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x24]
cmp ecx, eax
mov eax, dword [esp + 0x5c]
setg dl
sub edx, 0x8d19c921
neg edx
mov eax, dword [eax]
sbb edx, edx
inc edx
mov dword [esp + 0x3c], edx
xor edx, edx
mov eax, dword [esp + eax*4 + 0xcc]
cmp eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
setg dl
xor ecx, ecx
cmp edx, dword [eax]
setl cl
cmp ecx, 0xb28787d
jne 0x10009bb6
cmp dword [esp + 0x2c], ebx
je 0x10009bbe
mov edx, edi
cmp dword [esp + 0x24], ebx
jne 0x10009bc0
mov edx, ebx
mov eax, dword [esp + 0x5c]
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0xcc]
cmp edx, eax
mov eax, dword [esp + 0x5c]
sete cl
inc ecx
mov eax, dword [eax]
mov dword [esp + eax*4 + 0xcc], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
dec dword [eax]
jns 0x10009b5b
lea ecx, [esp + 0x5c]
call fcn.10001d54
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov ecx, dword [esp + 0x1a4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret