Function at 0x43d9d0
Capabilities:
Check os version
Get common file path
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x510b98
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x31a0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x43da29
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x33
jge 0x43da6d
cmp dword [ebp - 0x1c], 0
jge 0x43da3d
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43da53
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43da20
mov dword [ebp - 0x224], 0
jmp 0x43da88
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0x1d
jge 0x43dad5
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43dab7
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43dac7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x43dad3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x224]
mov dword [ebp - 0x1c], eax
jmp 0x43da79
mov dword [ebp - 0x228], 0
jmp 0x43daf0
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0
jge 0x43db3d
cmp dword [ebp - 0x1c], 0
jge 0x43db07
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43db1d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x22c], 0xfa
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43dae1
mov dword [ebp - 0x42c], 0
jmp 0x43db58
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x42c], 0x12
jge 0x43dba5
cmp dword [ebp - 0x1c], 0
jge 0x43db6f
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43db85
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x430], 0xfa
lea edx, [ebp - 0x430]
push edx
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43db49
mov dword [ebp - 0x62c], 0
jmp 0x43dbc0
mov ecx, dword [ebp - 0x62c]
add ecx, 1
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x62c], 7
jge 0x43dbd7
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], edx
jmp 0x43dbb1
cmp dword [ebp - 0x1c], 0
jge 0x43dbe5
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43dbfd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x630], 0
jmp 0x43dc18
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
cmp dword [ebp - 0x630], 8
jge 0x43dc65
mov eax, dword [ebp - 0x630]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43dc47
mov eax, dword [ebp - 0x630]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43dc57
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x630]
mov dword [ebp - 0x1c], edx
jmp 0x43dc63
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x630]
mov dword [ebp - 0x1c], eax
jmp 0x43dc09
mov dword [ebp - 0x634], 0
jmp 0x43dc80
mov ecx, dword [ebp - 0x634]
add ecx, 1
mov dword [ebp - 0x634], ecx
cmp dword [ebp - 0x634], 5
jge 0x43dc97
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x634]
mov dword [ebp - 0x1c], edx
jmp 0x43dc71
cmp dword [ebp - 0x1c], 0
jge 0x43dca5
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43dcbd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x638], 0
jmp 0x43dcd8
mov edx, dword [ebp - 0x638]
add edx, 1
mov dword [ebp - 0x638], edx
cmp dword [ebp - 0x638], 0xc
jge 0x43dd25
cmp dword [ebp - 0x1c], 0
jge 0x43dcef
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43dd05
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x63c], 0xfa
lea edx, [ebp - 0x63c]
push edx
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43dcc9
mov dword [ebp - 0x83c], 0
jmp 0x43dd40
mov ecx, dword [ebp - 0x83c]
add ecx, 1
mov dword [ebp - 0x83c], ecx
cmp dword [ebp - 0x83c], 1
jge 0x43dd8d
cmp dword [ebp - 0x1c], 0
jge 0x43dd57
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43dd6d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x840], 0xfa
lea edx, [ebp - 0x840]
push edx
lea eax, [ebp - 0xa38]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43dd31
mov dword [ebp - 0xa3c], 0
jmp 0x43dda8
mov ecx, dword [ebp - 0xa3c]
add ecx, 1
mov dword [ebp - 0xa3c], ecx
cmp dword [ebp - 0xa3c], 7
jge 0x43dde9
cmp dword [ebp - 0x1c], 0
jge 0x43ddbf
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43ddd5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc38]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43dd99
mov dword [ebp - 0xc3c], 0
jmp 0x43de04
mov eax, dword [ebp - 0xc3c]
add eax, 1
mov dword [ebp - 0xc3c], eax
cmp dword [ebp - 0xc3c], 6
jge 0x43de51
mov eax, dword [ebp - 0xc3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43de33
mov eax, dword [ebp - 0xc3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43de43
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc3c]
mov dword [ebp - 0x1c], edx
jmp 0x43de4f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc3c]
mov dword [ebp - 0x1c], eax
jmp 0x43ddf5
mov dword [ebp - 0xc40], 0
jmp 0x43de6c
mov ecx, dword [ebp - 0xc40]
add ecx, 1
mov dword [ebp - 0xc40], ecx
cmp dword [ebp - 0xc40], 6
jge 0x43deb9
cmp dword [ebp - 0x1c], 0
jge 0x43de83
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43de99
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc44], 0xfa
lea edx, [ebp - 0xc44]
push edx
lea eax, [ebp - 0xe40]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43de5d
mov ecx, 1
test ecx, ecx
je 0x43def3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0xe44]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43dee5
jmp 0x43def3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe44]
mov dword [ebp - 0x1c], edx
jmp 0x43deb9
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x43df36
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe48], eax
mov eax, dword [ebp - 0xe48]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43df28
jmp 0x43df36
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe48]
mov dword [ebp - 0x1c], edx
jmp 0x43defc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xe4c], 0xffffffff
mov dword [ebp - 0xe50], 0
jmp 0x43df68
mov ecx, dword [ebp - 0xe50]
add ecx, 1
mov dword [ebp - 0xe50], ecx
cmp dword [ebp - 0xe50], 5
jge 0x43df9a
mov eax, dword [ebp - 0xe50]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43df8f
mov edx, dword [ebp - 0xe4c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43df59
mov dword [ebp - 4], 0xfffffffe
jmp 0x43dfba
mov dword [ebp - 4], 1
mov dword [ebp - 0xe54], 0xffffffff
mov dword [ebp - 0xe58], 0
jmp 0x43dfe6
mov edx, dword [ebp - 0xe58]
add edx, 1
mov dword [ebp - 0xe58], edx
cmp dword [ebp - 0xe58], 4
jge 0x43e018
mov eax, dword [ebp - 0xe58]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43e00d
mov edx, dword [ebp - 0xe54]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43dfd7
mov dword [ebp - 4], 0xfffffffe
jmp 0x43e038
mov dword [ebp - 0xe5c], 0
jmp 0x43e053
mov edx, dword [ebp - 0xe5c]
add edx, 1
mov dword [ebp - 0xe5c], edx
cmp dword [ebp - 0xe5c], 5
jge 0x43e06a
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe5c]
mov dword [ebp - 0x1c], eax
jmp 0x43e044
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43e07c
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43e094
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe60], 0
jmp 0x43e0af
mov edx, dword [ebp - 0xe60]
add edx, 1
mov dword [ebp - 0xe60], edx
cmp dword [ebp - 0xe60], 2
jge 0x43e0fc
cmp dword [ebp - 0x1c], 0
jge 0x43e0c6
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43e0dc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe64], 0xfa
lea edx, [ebp - 0xe64]
push edx
lea eax, [ebp - 0x1060]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43e0a0
mov dword [ebp - 4], 2
mov dword [ebp - 0x1064], 0xffffffff
mov dword [ebp - 0x1068], 0
jmp 0x43e128
mov ecx, dword [ebp - 0x1068]
add ecx, 1
mov dword [ebp - 0x1068], ecx
cmp dword [ebp - 0x1068], 7
jge 0x43e15a
mov eax, dword [ebp - 0x1068]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43e14f
mov edx, dword [ebp - 0x1064]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43e119
mov dword [ebp - 4], 0xfffffffe
jmp 0x43e17a
mov dword [ebp - 0x106c], 0
jmp 0x43e195
mov edx, dword [ebp - 0x106c]
add edx, 1
mov dword [ebp - 0x106c], edx
cmp dword [ebp - 0x106c], 1
jge 0x43e1ac
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x106c]
mov dword [ebp - 0x1c], eax
jmp 0x43e186
cmp dword [ebp - 0x1c], 0
jge 0x43e1ba
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43e1d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1070], 0
jmp 0x43e1ed
mov edx, dword [ebp - 0x1070]
add edx, 1
mov dword [ebp - 0x1070], edx
cmp dword [ebp - 0x1070], 4
jge 0x43e22e
cmp dword [ebp - 0x1c], 0
jge 0x43e204
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43e21a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1268]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43e1de
mov dword [ebp - 0x126c], 0
jmp 0x43e249
mov eax, dword [ebp - 0x126c]
add eax, 1
mov dword [ebp - 0x126c], eax
cmp dword [ebp - 0x126c], 7
jge 0x43e260
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], ecx
jmp 0x43e23a
cmp dword [ebp - 0x1c], 0
jge 0x43e26e
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43e286
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1270], 0
jmp 0x43e2a1
mov edx, dword [ebp - 0x1270]
add edx, 1
mov dword [ebp - 0x1270], edx
cmp dword [ebp - 0x1270], 2
jge 0x43e2ee
mov eax, dword [ebp - 0x1270]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43e2d0
mov eax, dword [ebp - 0x1270]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43e2e0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1270]
mov dword [ebp - 0x1c], edx
jmp 0x43e2ec
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1270]
mov dword [ebp - 0x1c], eax
jmp 0x43e292
mov dword [ebp - 4], 3
mov dword [ebp - 0x1274], 0xffffffff
mov dword [ebp - 0x1278], 0
jmp 0x43e31a
mov ecx, dword [ebp - 0x1278]
add ecx, 1
mov dword [ebp - 0x1278], ecx
cmp dword [ebp - 0x1278], 3
jge 0x43e34c
mov eax, dword [ebp - 0x1278]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43e341
mov edx, dword [ebp - 0x1274]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43e30b
mov dword [ebp - 4], 0xfffffffe
jmp 0x43e36c
mov dword [ebp - 0x127c], 0
jmp 0x43e387
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 3
jge 0x43e39e
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], eax
jmp 0x43e378
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43e3b0
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43e3c8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1280], 0
jmp 0x43e3e3
mov edx, dword [ebp - 0x1280]
add edx, 1
mov dword [ebp - 0x1280], edx
cmp dword [ebp - 0x1280], 8
jge 0x43e430
cmp dword [ebp - 0x1c], 0
jge 0x43e3fa
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43e410
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1284], 0xfa
lea edx, [ebp - 0x1284]
push edx
lea eax, [ebp - 0x1480]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43e3d4
mov dword [ebp - 0x1484], 0
jmp 0x43e44b
mov ecx, dword [ebp - 0x1484]
add ecx, 1
mov dword [ebp - 0x1484], ecx
cmp dword [ebp - 0x1484], 2
jge 0x43e462
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], edx
jmp 0x43e43c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43e474
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43e48c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1488], 0
jmp 0x43e4a7
mov edx, dword [ebp - 0x1488]
add edx, 1
mov dword [ebp - 0x1488], edx
cmp dword [ebp - 0x1488], 3
jge 0x43e4be
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], eax
jmp 0x43e498
cmp dword [ebp - 0x1c], 0
jge 0x43e4cc
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43e4e4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x148c], 0xffffffff
mov dword [ebp - 0x1490], 0
jmp 0x43e510
mov edx, dword [ebp - 0x1490]
add edx, 1
mov dword [ebp - 0x1490], edx
cmp dword [ebp - 0x1490], 0
jge 0x43e542
mov eax, dword [ebp - 0x1490]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43e537
mov edx, dword [ebp - 0x148c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43e501
mov dword [ebp - 4], 0xfffffffe
jmp 0x43e562
mov dword [ebp - 4], 5
mov dword [ebp - 0x1494], 0xffffffff
mov dword [ebp - 0x1498], 0
jmp 0x43e58e
mov edx, dword [ebp - 0x1498]
add edx, 1
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jge 0x43e5c0
mov eax, dword [ebp - 0x1498]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43e5b5
mov edx, dword [ebp - 0x1494]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43e57f
mov dword [ebp - 4], 0xfffffffe
jmp 0x43e5e0
mov dword [ebp - 0x149c], 0
jmp 0x43e5fb
mov edx, dword [ebp - 0x149c]
add edx, 1
mov dword [ebp - 0x149c], edx
cmp dword [ebp - 0x149c], 6
jge 0x43e612
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], eax
jmp 0x43e5ec
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43e624
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43e63c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a0], 0
jmp 0x43e657
mov edx, dword [ebp - 0x14a0]
add edx, 1
mov dword [ebp - 0x14a0], edx
cmp dword [ebp - 0x14a0], 3
jge 0x43e66e
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x14a0]
mov dword [ebp - 0x1c], eax
jmp 0x43e648
cmp dword [ebp - 0x1c], 0
jge 0x43e67c
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43e694
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a4], 0
jmp 0x43e6af
mov edx, dword [ebp - 0x14a4]
add edx, 1
mov dword [ebp - 0x14a4], edx
cmp dword [ebp - 0x14a4], 3
jge 0x43e6f0
cmp dword [ebp - 0x1c], 0
jge 0x43e6c6
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43e6dc
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43e6a0
mov dword [ebp - 4], 6
mov dword [ebp - 0x16a4], 0xffffffff
mov dword [ebp - 0x16a8], 0
jmp 0x43e71c
mov eax, dword [ebp - 0x16a8]
add eax, 1
mov dword [ebp - 0x16a8], eax
cmp dword [ebp - 0x16a8], 6
jge 0x43e74e
mov eax, dword [ebp - 0x16a8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43e743
mov edx, dword [ebp - 0x16a4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43e70d
mov dword [ebp - 4], 0xfffffffe
jmp 0x43e76e
mov edx, 1
test edx, edx
je 0x43e7a8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16ac], eax
mov eax, dword [ebp - 0x16ac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43e79a
jmp 0x43e7a8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16ac]
mov dword [ebp - 0x1c], edx
jmp 0x43e76e
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b0], 0
jmp 0x43e7cc
mov ecx, dword [ebp - 0x16b0]
add ecx, 1
mov dword [ebp - 0x16b0], ecx
cmp dword [ebp - 0x16b0], 5
jge 0x43e7e3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x16b0]
mov dword [ebp - 0x1c], edx
jmp 0x43e7bd
cmp dword [ebp - 0x1c], 0
jge 0x43e7f1
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43e809
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b4], 0
jmp 0x43e824
mov edx, dword [ebp - 0x16b4]
add edx, 1
mov dword [ebp - 0x16b4], edx
cmp dword [ebp - 0x16b4], 3
jge 0x43e871
mov eax, dword [ebp - 0x16b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43e853
mov eax, dword [ebp - 0x16b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43e863
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], edx
jmp 0x43e86f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], eax
jmp 0x43e815
mov dword [ebp - 0x16b8], 0
jmp 0x43e88c
mov ecx, dword [ebp - 0x16b8]
add ecx, 1
mov dword [ebp - 0x16b8], ecx
cmp dword [ebp - 0x16b8], 3
jge 0x43e8d9
cmp dword [ebp - 0x1c], 0
jge 0x43e8a3
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x43e8b9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16bc], 0xfa
lea edx, [ebp - 0x16bc]
push edx
lea eax, [ebp - 0x18b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43e87d
mov dword [ebp - 0x18bc], 0
jmp 0x43e8f4
mov ecx, dword [ebp - 0x18bc]
add ecx, 1
mov dword [ebp - 0x18bc], ecx
cmp dword [ebp - 0x18bc], 0
jge 0x43e941
mov eax, dword [ebp - 0x18bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43e923
mov eax, dword [ebp - 0x18bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43e933
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18bc]
mov dword [ebp - 0x1c], edx
jmp 0x43e93f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x1c], eax
jmp 0x43e8e5
mov ecx, 1
test ecx, ecx
je 0x43e97b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18c0], eax
mov eax, dword [ebp - 0x18c0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43e96d
jmp 0x43e97b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18c0]
mov dword [ebp - 0x1c], edx
jmp 0x43e941
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18c4], 0
jmp 0x43e99f
mov ecx, dword [ebp - 0x18c4]
add ecx, 1
mov dword [ebp - 0x18c4], ecx
cmp dword [ebp - 0x18c4], 1
jge 0x43e9ec
mov eax, dword [ebp - 0x18c4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43e9ce
mov eax, dword [ebp - 0x18c4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43e9de
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18c4]
mov dword [ebp - 0x1c], edx
jmp 0x43e9ea
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18c4]
mov dword [ebp - 0x1c], eax
jmp 0x43e990
mov dword [ebp - 0x18c8], 0
jmp 0x43ea07
mov ecx, dword [ebp - 0x18c8]
add ecx, 1
mov dword [ebp - 0x18c8], ecx
cmp dword [ebp - 0x18c8], 3
jge 0x43ea54
mov eax, dword [ebp - 0x18c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43ea36
mov eax, dword [ebp - 0x18c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43ea46
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18c8]
mov dword [ebp - 0x1c], edx
jmp 0x43ea52
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18c8]
mov dword [ebp - 0x1c], eax
jmp 0x43e9f8
mov dword [ebp - 4], 7
mov dword [ebp - 0x18cc], 0xffffffff
mov dword [ebp - 0x18d0], 0
jmp 0x43ea80
mov ecx, dword [ebp - 0x18d0]
add ecx, 1
mov dword [ebp - 0x18d0], ecx
cmp dword [ebp - 0x18d0], 3
jge 0x43eab2
mov eax, dword [ebp - 0x18d0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43eaa7
mov edx, dword [ebp - 0x18cc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43ea71
mov dword [ebp - 4], 0xfffffffe
jmp 0x43ead2
mov dword [ebp - 0x18d4], 0
jmp 0x43eaed
mov edx, dword [ebp - 0x18d4]
add edx, 1
mov dword [ebp - 0x18d4], edx
cmp dword [ebp - 0x18d4], 4
jge 0x43eb3a
mov eax, dword [ebp - 0x18d4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43eb1c
mov eax, dword [ebp - 0x18d4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43eb2c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18d4]
mov dword [ebp - 0x1c], edx
jmp 0x43eb38
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x1c], eax
jmp 0x43eade
mov dword [ebp - 0x18d8], 0
jmp 0x43eb55
mov ecx, dword [ebp - 0x18d8]
add ecx, 1
mov dword [ebp - 0x18d8], ecx
cmp dword [ebp - 0x18d8], 4
jge 0x43eb96
cmp dword [ebp - 0x1c], 0
jge 0x43eb6c
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43eb82
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ad0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43eb46
mov dword [ebp - 4], 8
mov dword [ebp - 0x1ad4], 0xffffffff
mov dword [ebp - 0x1ad8], 0
jmp 0x43ebc2
mov eax, dword [ebp - 0x1ad8]
add eax, 1
mov dword [ebp - 0x1ad8], eax
cmp dword [ebp - 0x1ad8], 2
jge 0x43ebf4
mov eax, dword [ebp - 0x1ad8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43ebe9
mov edx, dword [ebp - 0x1ad4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43ebb3
mov dword [ebp - 4], 0xfffffffe
jmp 0x43ec14
mov edx, 1
test edx, edx
je 0x43ec4e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1adc], eax
mov eax, dword [ebp - 0x1adc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43ec40
jmp 0x43ec4e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1adc]
mov dword [ebp - 0x1c], edx
jmp 0x43ec14
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ae0], 0
jmp 0x43ec72
mov ecx, dword [ebp - 0x1ae0]
add ecx, 1
mov dword [ebp - 0x1ae0], ecx
cmp dword [ebp - 0x1ae0], 3
jge 0x43ec89
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ae0]
mov dword [ebp - 0x1c], edx
jmp 0x43ec63
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43ec9b
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43ecb3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ae4], 0
jmp 0x43ecce
cmp dword [ebp - 0x1ae4], 1
jge 0x43ed0f
cmp dword [ebp - 0x1c], 0
jge 0x43ece5
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x43ecfb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ce0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43ecbf
mov dword [ebp - 0x1ce4], 0
jmp 0x43ed2a
cmp dword [ebp - 0x1ce4], 0
jge 0x43ed77
mov eax, dword [ebp - 0x1ce4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43ed59
mov dword [ebp - 4], 9
mov dword [ebp - 0x1ce8], 0xffffffff
mov dword [ebp - 0x1cec], 0
jmp 0x43eda3