Function at 0x1004bb9a
Capabilities:
Check os version
Encode data using xor
Get file attributes

Disassembly:
mov eax, 0x1006fc55
call fcn.1006e5a0
sub esp, 0x124
push ebx
push esi
xor esi, esi
mov byte [ebp - 0x44], dl
inc esi
mov eax, ecx
push edi
xor ebx, ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], ebx
jmp 0x1004bbe9
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x20], 0xffffffed
jmp 0x1004bbe0
cmp dword [ebp - 0x14], ebx
jne 0x1004bbe6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff7
jne 0x1004bbd8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x10
jg 0x1004bbc8
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], 0xb66bafcb
mov dword [ebp - 0x30], 0x5fa2ef7
mov dword [ebp - 0x40], 0xa26cdee9
mov dword [ebp - 0x24], 0x1a
jmp 0x1004bc6e
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x38], 0xc42206dd
mov dword [ebp - 0x48], 0x811fc80a
cmp dword [ebp - 0x14], ebx
jne 0x1004bc74
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
sub ecx, 0x94d0e83
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffe
jg 0x1004bc14
mov dword [ebp - 0x14], 0xe731e7bf
mov dword [ebp - 0x18], 0x3df75dce
mov dword [ebp - 0x30], 0x6ea0e402
mov dword [ebp - 0x2c], 0xaf1ba137
mov dword [ebp - 0x18], 0x19
jmp 0x1004bcc3
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004bca8
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004bcc0
push 0xbd4
push 0xf80
call dword [sym.imp.GDI32.dll_RestoreDC]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe3
jle 0x1004bc99
mov dword [ebp - 0x18], ebx
jmp 0x1004bda5
mov dword [ebp - 0x28], 0x32937a3a
mov dword [ebp - 0x28], 0xffffffef
jmp 0x1004bd98
mov dword [ebp - 0x38], 0xcc590f02
xor edx, edx
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x2c], 0xfffffffe
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
xor eax, eax
imul edx, dword [ebp - 0x18]
cmp edx, 0xf1fe
setl al
xor ecx, ecx
sub eax, 0x126e
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], eax
setle cl
cmp ecx, 0xf321ee01
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp eax, esi
setl cl
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x28], 0xfffffffd
jge 0x1004bd5a
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004bd95
push ebx
push ebx
push 0x1c9d
push 0x144d
call dword [sym.imp.USER32.dll_DefWindowProcA]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x1004bce4
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffa
jl 0x1004bcd1
mov eax, dword [0x100758bc]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], ebx
jmp 0x1004bdd0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x130], 0x62fd41e5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1004bdbf
mov dword [ebp - 0x18], ebx
jmp 0x1004bde9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x78], 0xa7c20398
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1004bddb
mov dword [ebp - 0x74], ebx
jmp 0x1004be2e
mov dword [ebp - 0x14], 0x74b666a7
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x1004be2b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004be26
push 0xb0f
push 0xbde
push 0x35b
push 0x25db
push ebx
call dword [sym.imp.USER32.dll_PeekMessageA]
dec dword [ebp - 0x14]
jns 0x1004be03
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], esi
jle 0x1004bdf4
mov dword [ebp - 0x14], 0xffffffff
xor ecx, ecx
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x70]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x74]
setge cl
sub eax, ecx
je 0x1004be81
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x1004be91
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004be7a
push ebx
push 0x551
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
dec dword [ebp - 0x14]
jns 0x1004be66
jmp 0x1004be91
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004be91
push ebx
push ebx
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
cmp byte [ebp - 0x44], bl
je 0x1004bfe1
cmp eax, esi
jne 0x1004bfe1
push esi
lea ecx, [ebp - 0x9c]
call fcn.100219b2
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], 0xb4ffb87
mov dword [ebp - 0x14], ebx
jmp 0x1004bee1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004bece
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004bf0e
push 0xd33
push 0x18ec
push 0x19ad
push 0x1979
push 0x1a05
call dword [sym.imp.GDI32.dll_ExcludeClipRect]
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1004bfc1
mov dword [ebp - 0x14], 0x33992443
mov dword [ebp - 0x14], ebx
jmp 0x1004bfaf
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0xdc]
push 2
call fcn.100219b2
mov dword [ebp - 0x20], ebx
jmp 0x1004bf4d
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1004bf3e
mov dword [ebp - 0x18], ebx
jmp 0x1004bf6b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 0xcad2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1004bf58
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1004bfa1
mov dword [ebp - 0x2c], 0x7d2703d9
cmp dword [ebp - 0x2c], ebx
jne 0x1004bfa1
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x9c]
cmp dword [eax], ebx
mov eax, dword [ebp - 0xdc]
setne cl
mov dword [eax], ecx
dec dword [ebp - 0x18]
jns 0x1004bf78
lea ecx, [ebp - 0xdc]
call fcn.10021a34
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1004bf29
dec dword [ebp - 0x24]
jns 0x1004bf1a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.10021a34
mov eax, dword [ebp - 0x38]
mov dword [edi + 8], 4
mov dword [edi + 0xc], 0x100758bc
cmp dword [ebp - 0x34], eax
jge 0x1004c7d4
mov dword [ebp - 0x24], 0xffffffff
mov edi, 0x100758c0
mov dword [ebp - 0x20], 0xb66bafcb
mov dword [ebp - 0x30], 0x5fa2ef7
mov dword [ebp - 0x40], 0xa26cdee9
mov dword [ebp - 0x58], 0x1422
cmp dword [ebp - 0x58], 0x156b
mov dword [ebp - 0x2c], edi
jle 0x1004c04d
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10617278
xor eax, esi
cdq
push edx
push eax
call fcn.10021772
inc edi
cmp edi, 0x542d
jl 0x1004c022
inc esi
cmp esi, 0x321b
jl 0x1004c020
xor esi, esi
mov edi, 0x100758c0
inc esi
mov dword [ebp - 0x24], 0x1a
jmp 0x1004c0b0
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x14], 0xc42206dd
mov dword [ebp - 0x48], 0x811fc80a
cmp dword [ebp - 0x20], ebx
jne 0x1004c0b6
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
sub ecx, 0x94d0e83
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffe
jg 0x1004c056
mov dword [ebp - 4], esi
cmp dword [ebp - 0x58], 0x1149
jge 0x1004c0d1
mov edx, 0x100091c0
mov ecx, 0x10617278
call fcn.10025ce5
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], 0xe731e7bf
test eax, eax
jle 0x1004c582
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0x24], 0x50bf34fd
mov dword [ebp - 0x14], 0x1e948708
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], 7
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setle dl
cmp dword [ebp - 0x14], edx
jge 0x1004c12e
mov edx, ebx
cmp dword [ebp - 0x18], ebx
je 0x1004c130
mov edx, esi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
setle cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x20], ebx
jmp 0x1004c1bf
mov dword [ebp - 0x14], 0x3191
cmp dword [ebp - 0x14], ebx
je 0x1004c197
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
je 0x1004c1a2
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004c1bc
push ebx
push ebx
call dword [sym.imp.GDI32.dll_CopyEnhMetaFileA]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xd
jge 0x1004c188
add edi, 4
mov dword [ebp - 0x20], 7
push esi
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x4c], edi
call fcn.100219b2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], 0xa3bdf78b
mov dword [ebp - 0x48], 0xaafa0b2b
mov dword [ebp - 0x14], ebx
jmp 0x1004c207
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0x3cdf98a5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004c1f4
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], 0xfffffffa
jg 0x1004c3d2
push 0xfffffffffffffffc
pop edi
mov dword [ebp - 0x18], 0xefc07e17
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x3c], 0xfd1f
mov dword [ebp - 0x50], 0xe5f3778a
mov dword [ebp - 0x2c], 0xd174
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1004c379
mov dword [ebp - 0x54], 9
mov dword [ebp - 0x14], ebx
jmp 0x1004c265
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0x6255d580
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004c257
cmp dword [ebp - 0x20], ebx
jne 0x1004c2bb
mov eax, dword [ebp - 0x20]
dec eax
neg eax
sbb eax, eax
neg eax
cmp edi, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
cmp ecx, 0xcb1a7a81
jne 0x1004c2b3
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x20], ebx
jne 0x1004c2bb
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, esi
setle cl
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x80], ebx
je 0x1004c2d9
mov dword [ebp - 0x24], 0xfffffffa
jmp 0x1004c370
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], 2
mov dword [ebp - 0x54], 0xaeafd710
mov dword [ebp - 0x24], ebx
jmp 0x1004c341
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], ebx
jl 0x1004c33e
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x54], 0xcce005ab
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004c319
push 0xdba
call dword [sym.imp.GDI32.dll_SaveDC]
dec dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x54]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, esi
setle al
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x28]
jns 0x1004c2f7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1004c2ef
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x48]
jle 0x1004c35f
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], ebx
je 0x1004c364
mov eax, dword [ebp - 0x5c]
inc eax
jne 0x1004c36b
cmp dword [ebp - 0x58], ebx
jne 0x1004c36b
mov eax, ebx
cmp dword [ebp - 0x80], ebx
je 0x1004c36d
mov eax, esi
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x18]
jns 0x1004c24b
mov eax, dword [ebp - 0x24]
mov ecx, esi
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xe8]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x2c]
add eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x839c
sub eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffa
jle 0x1004c220
mov edi, dword [ebp - 0x4c]
lea ecx, [ebp - 0xe8]
call fcn.10021a34
mov eax, dword [edi]
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x14], 0xae9714a0
push esi
mov dword [ebp - 0x50], eax
call fcn.100219b2
mov dword [ebp - 4], 3
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x4c], 0x88ff7673
mov dword [ebp - 0x4c], 0xfffffff6
mov dword [ebp - 0x14], ebx
jmp 0x1004c429
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0xf8b243e5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004c416
mov dword [ebp - 0x14], 0xffffffe7
jmp 0x1004c50c
mov dword [ebp - 0x4c], 0xffffffff
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x5c], 0x9a27
mov dword [ebp - 0x3c], 0x2afe2499
mov dword [ebp - 0x3c], 0x2c7e12fd
mov dword [ebp - 0x3c], 0x927eed05
mov dword [ebp - 0x3c], 0xb6d4f509
mov dword [ebp - 0x3c], 0xce5fef40
push esi
call fcn.100219b2
mov dword [ebp - 0x3c], 0xc907
mov dword [ebp - 0x18], ebx
jmp 0x1004c490
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x128], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1004c483
mov dword [ebp - 0x18], ebx
jmp 0x1004c4ae
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0x9d6c8400
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1004c49b
mov eax, dword [ebp - 0x2c]
inc eax
imul eax, dword [ebp - 0x2c]
imul eax, eax, 0xfffffffc
test eax, eax
je 0x1004c4c9
mov eax, esi
cmp dword [ebp - 0x14], ebx
jne 0x1004c4cb
mov eax, ebx
mov edx, dword [ebp - 0x4c]
sub edx, 0x28dd8948
sub edx, eax
mov eax, dword [ebp - 0x5c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
cmp ecx, 0xc7a00f47
lea ecx, [ebp - 0x10c]
sbb eax, eax
neg eax
imul eax, eax, 0x7b18
mov dword [ebp - 0x120], eax
dec dword [ebp - 0x3c]
call fcn.10021a34
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x18
jle 0x1004c43a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.10021a34
add edi, 4
cmp dword [ebp - 0x50], 0
jne 0x1004c531
add edi, 8
push 3
lea ecx, [ebp - 0xf4]
call fcn.100219b2
mov dword [ebp - 0x4c], 0xfffffff9
mov dword [ebp - 0x14], ebx
jmp 0x1004c55d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0xb110c93b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004c54a
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xf4]
mov dword [eax], ebx
call fcn.10021a34
add edi, dword [ebp - 0x40]
dec dword [ebp - 0x34]
jne 0x1004c0e7
mov eax, dword [edi]
lea ecx, [ebp - 0xb4]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009390]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0xb4], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x11c], xmm0
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
call fcn.10026de4
mov dword [ebp - 0x34], 0xe5ccc90a
mov dword [ebp - 0x34], ebx
jmp 0x1004c5e8
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004c5e5
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jle 0x1004c5d2
lea ecx, [ebp - 0xb4]
call fcn.10021a34
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x14], 0x732aa61f
push 3
mov dword [ebp - 0x4c], eax
call fcn.100219b2
mov dword [ebp - 0x40], 2
mov dword [ebp - 0x18], ebx
jmp 0x1004c63c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1004c62d
mov dword [ebp - 0x18], ebx
jmp 0x1004c658
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc4], 0x60bc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1004c647
dec dword [ebp - 0xbc]
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0x34], eax
jle 0x1004c695
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, esi
setg cl
xor eax, eax
add ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffa
setle al
test eax, eax
jns 0x1004c68b
mov eax, dword [ebp - 0x34]
mov eax, esi
cmp dword [ebp - 0xbc], ebx
jne 0x1004c697
mov eax, ebx
xor ecx, ecx
cmp eax, 0xfffffff6
mov eax, dword [ebp - 0x34]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x90]
setge dl
xor ecx, ecx
cmp edx, dword [eax + 8]
mov eax, dword [ebp - 0x14]
setle cl
mov dword [ebp - 0x40], ecx
xor ecx, ecx
cmp dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x90]
setg cl
inc ecx
mov dword [eax], ecx
imul eax, ecx, 0x2e52
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x90]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x90]
call fcn.10021a34
cmp dword [ebp - 0x4c], 0
jne 0x1004c7d1
cmp byte [ebp - 0x44], 0
je 0x1004c71c
cmp dword [ebp - 0x38], esi
jne 0x1004c71c
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x20]
add eax, 0x10
add dword [ecx + 8], eax
mov eax, dword [edi + 8]
push dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x40], eax
call fcn.10052e63
pop ecx
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], ebx
push eax
push dword [ebp - 0x20]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.1005114d
mov eax, dword [ebp - 0x20]
mov edx, ebx
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x3c], ebx
test eax, eax
jle 0x1004c7b0
mov eax, edx
and eax, 0x80000001
jns 0x1004c772
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x2c]
add eax, edx
add eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x40]
jmp 0x1004c787
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x20]
cmp word [ecx + edx*2], bx
jne 0x1004c784
mov word [ecx + edx*2], si
mov al, byte [edx + edi + 0x10]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
mov byte [edx + ecx], al
inc edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x3c], edx
cmp edx, eax
jl 0x1004c764
mov edi, dword [ebp + 8]
mov dword [edi], eax
mov eax, dword [ebp - 0x50]
mov dword [edi + 4], eax
test ecx, ecx
je 0x1004c7d4
push ecx
call fcn.10057b57
pop ecx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
jmp 0x1004c7d4
mov edi, dword [ebp + 8]
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xa8]
push 3
call fcn.100219b2
mov dword [ebp - 4], 4
mov dword [ebp - 0x24], 0xe7179999
mov dword [ebp - 0x14], 0x510212ae
mov dword [ebp + 8], ebx
jmp 0x1004c811
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0xcdf9
inc dword [ebp + 8]
cmp dword [ebp + 8], 3
jl 0x1004c7fe
mov dword [ebp - 0x18], ebx
jmp 0x1004c983
mov dword [ebp - 0x28], 0x33efc07e
mov dword [ebp - 0x28], ebx
jmp 0x1004c903
mov dword [ebp - 0x20], 0x4ebb0cb8
lea ecx, [ebp - 0xd0]
push esi
call fcn.100219b2
mov dword [ebp - 0x2c], 0x2aafa0b2
mov dword [ebp + 8], ebx
jmp 0x1004c85c
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], esi
inc dword [ebp + 8]
cmp dword [ebp + 8], esi
jl 0x1004c84d
mov dword [ebp - 0x20], ebx
jmp 0x1004c8eb
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x30], esi
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1004c87f
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
cmp dword [ebp - 0x28], ebx
jne 0x1004c887
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], 5
mov eax, dword [ebp - 0xd0]
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x18]
test eax, eax
je 0x1004c8d5
mov edx, esi
cmp dword [ebp - 0x28], ebx
jne 0x1004c8d7
mov edx, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1004c869
lea ecx, [ebp - 0xd0]
call fcn.10021a34
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x1004c82e
mov dword [ebp - 0x24], ebx
jmp 0x1004c97a
mov dword [ebp - 0x40], 0x4171b3fe
mov dword [ebp - 0x28], ebx
jmp 0x1004c941
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1004c92f
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x1004c91e
cmp dword [ebp - 0x28], ebx
jne 0x1004c964
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x40]
cmp eax, 0xfffffffc
mov eax, ebx
setge cl
sub ecx, 0x3a3d25b0
je 0x1004c966
mov eax, esi
cmp eax, dword [ebp - 0x14]
je 0x1004c972
mov eax, esi
cmp dword [ebp - 0x28], ebx
jne 0x1004c974
mov eax, ebx
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jle 0x1004c912
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe6
jne 0x1004c81f
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa8]
sub edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov edx, dword [ebp - 0x14]
setle cl
sub edx, ecx
neg edx
sbb edx, edx
inc edx
neg edx
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x24]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 0xfffffff7
je 0x1004c9e7
cmp dword [ebp - 0x18], ebx
je 0x1004c9e9
mov ebx, esi
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x18], ebx
call fcn.10021a34
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret