Function at 0x10014f70
Capabilities:
Encrypt data using speck
Get common file path
Get disk information
Get session user name

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0c
push ebx
push esi
push edi
mov eax, dword [0x1004a17c]
mov dword [ebp - 0x42c], eax
mov ecx, dword [0x1004a104]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x14], 0xf6
mov dword [ebp - 0x44], 0xd143a03f
mov dword [ebp - 0x34], 0x97
mov edx, 0xa8
mov word [ebp - 0x1c], dx
mov al, byte [0x1004a06b]
mov byte [ebp - 4], al
movsx eax, word [0x1004a100]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], 0xece8
xor ecx, ecx
mov dword [ebp - 0x28], 0xe174
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x58], 0xe158
movsx edx, word [0x1004a120]
mov dword [ebp - 0x3c], edx
mov eax, dword [0x1004a108]
mov ecx, dword [0x1004a10c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], 0x35d7
mov byte [ebp - 1], 0x29
mov edx, dword [0x1004a104]
mov word [ebp - 0x20], dx
mov ax, word [0x1004a0c8]
mov word [ebp - 0xc], ax
mov ecx, 0xe7
mov word [ebp - 8], cx
mov dx, word [0x1004a178]
mov word [ebp - 0x10], dx
mov ax, word [0x1004a0d0]
mov word [ebp - 0x18], ax
mov byte [ebp - 2], 0x5a
mov byte [ebp - 3], 0xa8
mov cx, word [0x1004a140]
mov word [ebp - 0x40], cx
mov edx, 0xc6b24
mov dword [ebp - 0x48c], 0xb2c750c0
mov dword [ebp - 0x488], edx
mov eax, dword [0x1004a128]
cdq
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], edx
xor eax, eax
mov dword [ebp - 0x49c], 0x7ac04d7
mov dword [ebp - 0x498], eax
mov byte [ebp - 0x6d], 0xbb
mov ecx, 0x7470c
mov dword [ebp - 0x4cc], 0xc3792aef
mov dword [ebp - 0x4c8], ecx
mov eax, dword [0x1004a140]
cdq
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4a4], edx
mov edx, 0x68e37
mov dword [ebp - 0x4b0], 0x5f5a46ad
mov dword [ebp - 0x4ac], edx
mov eax, dword [0x1004a190]
mov word [ebp - 0x228], ax
mov ecx, 0xd1
mov word [ebp - 0x22c], cx
mov dx, word [0x1004a120]
mov byte [ebp - 0x6e], dl
mov al, byte [0x1004a017]
mov byte [ebp - 0x70], al
mov cl, byte [0x1004a124]
mov byte [ebp - 0x6f], cl
mov edx, dword [0x1004a190]
mov dword [ebp - 0x430], edx
mov eax, 0x5b0fb
mov dword [ebp - 0x4b8], 0x7cdddda5
mov dword [ebp - 0x4b4], eax
mov dword [ebp - 0x434], 0x959a7fbf
mov dword [ebp - 0x438], 0x2c042194
mov ecx, dword [0x1004a0c8]
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x43c], eax
add ecx, edx
mov dword [0x1004a0c8], ecx
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x268]
or ecx, dword [ebp - 0x264]
jne 0x10015177
jmp 0x10015241
cmp dword [0x1004a15c], 0
jne 0x1001518c
mov dword [ebp - 0x1bc], 1
jmp 0x10015196
mov dword [ebp - 0x1bc], 0
movzx edx, word [ebp - 0x18]
test edx, edx
jne 0x100151aa
mov dword [ebp - 0x1c0], 1
jmp 0x100151b4
mov dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [ebp - 0x1c0]
jg 0x100151ce
mov dword [ebp - 0xcc], 1
jmp 0x100151d8
mov dword [ebp - 0xcc], 0
mov ecx, dword [0x1004a0c0]
mov edx, dword [0x1004a0c4]
not ecx
not edx
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x270]
or eax, dword [ebp - 0x26c]
je 0x1001521b
mov ecx, 0x777ca7f0
or ecx, 0xcf32b
je 0x1001521b
mov dword [ebp - 0xd0], 1
jmp 0x10015225
mov dword [ebp - 0xd0], 0
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jle 0x10015241
movsx eax, byte [ebp - 2]
imul eax, eax, 0x61
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x78]
add ecx, 0xb2
mov dword [ebp - 0x234], ecx
movzx edx, word [0x1004a150]
sub edx, 0x8756cc7
mov dword [0x1004a0c8], edx
mov eax, dword [ebp - 0x78]
add eax, 0xa71
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x74], 0
jmp 0x10015283
mov ecx, dword [ebp - 0x74]
add ecx, 2
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x74], 0x3b
jge 0x100152a2
mov byte [0x1004a017], 0x86
mov dword [ebp - 0x3c], 0xb7386b35
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x1001527a
mov eax, dword [ebp - 0x78]
add eax, 0x39
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x230], 0x104
lea ecx, [ebp - 0x230]
push ecx
lea edx, [ebp - 0x5fc]
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov word [ebp - 8], ax
mov eax, dword [ebp - 0x234]
or eax, 0xdb
mov ecx, 0x401
sub ecx, eax
mov dword [ebp - 0x244], ecx
movzx dx, byte [0x1004a0bb]
movzx eax, dx
push eax
push 0xa9
push 0
push 0
push 0
push 0xa4
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.10024c40
add esp, 0x1c
movzx eax, ax
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x28]
or edx, dword [ebp - 0x24]
je 0x10015334
mov byte [ebp - 1], 0xf4
mov eax, dword [ebp - 0x48]
sub eax, 0x6d136d85
mov word [ebp - 0x40], ax
jmp 0x1001534f
movzx eax, byte [0x1004a056]
cdq
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x448], edx
add eax, ecx
mov byte [0x1004a056], al
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x7c], eax
movzx eax, byte [0x1004a056]
cdq
sub eax, 0xd6ed86dd
mov byte [0x1004a092], al
mov ecx, dword [ebp - 0x7c]
add ecx, 0x8b22
mov dword [ebp - 0x44c], ecx
mov edx, dword [0x1004a190]
xor eax, eax
add edx, dword [0x1004a0e8]
adc eax, dword [0x1004a0ec]
mov dword [0x1004a0e8], edx
mov dword [0x1004a0ec], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [0x1004a160], ecx
mov dword [0x1004a164], edx
mov eax, dword [ebp - 0x7c]
add eax, 0xf4
mov dword [ebp - 0x450], eax
movsx ecx, byte [str.address_family_not]
cmp ecx, dword [0x1004a190]
je 0x10015451
mov edx, dword [0x1004a0d0]
add edx, 0x52c81bfe
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x24]
jne 0x100153ed
mov dword [ebp - 0xd4], 1
jmp 0x100153f7
mov dword [ebp - 0xd4], 0
mov eax, dword [0x1004a128]
not eax
xor eax, dword [ebp - 0xd4]
not eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [0x1004a128]
add eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [0x1004a110]
cdq
sub eax, 0xaa839d07
sbb edx, 0xdf496
mov edi, dword [ebp - 0x58]
not edi
mov ebx, dword [0x1004a158]
sub ebx, edi
xor edi, edi
xor eax, ebx
xor edx, edi
not eax
not edx
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov byte [0x1004a093], al
jmp 0x10015500
cmp dword [ebp - 0x48], 0
je 0x1001548a
mov edx, dword [ebp - 0x34]
sub edx, 0xb0
mov dword [0x1004a154], edx
movzx eax, byte [0x1004a0bb]
not eax
cdq
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov dword [ebp - 0x454], edx
add ecx, eax
mov word [ebp - 0x18], cx
jmp 0x10015500
movzx eax, byte [ebp - 1]
cmp dword [ebp - 0x34], eax
jne 0x1001549f
mov dword [ebp - 0xd8], 1
jmp 0x100154a9
mov dword [ebp - 0xd8], 0
movzx ecx, byte [ebp - 1]
movsx edx, byte [0x1004a092]
and ecx, edx
mov eax, dword [ebp - 0xd8]
not eax
add ecx, eax
je 0x10015500
mov ecx, dword [ebp - 0x34]
add ecx, dword [0x1004a15c]
mov edx, dword [ebp - 0x34]
add edx, ecx
mov dword [ebp - 0x34], edx
movzx eax, byte [ebp - 3]
test eax, eax
jne 0x100154e7
mov dword [ebp - 0xdc], 1
jmp 0x100154f1
mov dword [ebp - 0xdc], 0
movsx ecx, byte [ebp - 2]
mov edx, dword [ebp - 0xdc]
sub edx, ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x7c]
add eax, 0xc7
mov dword [ebp - 0x238], eax
mov dword [0x1004a110], 0xc3b34ddb
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
mov eax, dword [ebp - 0x34]
add eax, dword [0x1004a110]
cdq
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], edx
mov edx, dword [ebp - 0x278]
cmp edx, dword [ebp - 0x280]
jne 0x1001567c
mov eax, dword [ebp - 0x274]
cmp eax, dword [ebp - 0x27c]
jne 0x1001567c
movzx ecx, byte [0x1004a06b]
imul edx, ecx, 0xf64dcf42
mov eax, dword [0x1004a15c]
sub eax, edx
mov dword [0x1004a15c], eax
mov ecx, 2
imul edx, ecx, 0x37e1
movsx eax, word [edx + 0x101b53f0]
mov dword [ebp - 0x48], eax
movzx ecx, word [0x1004a150]
mov edx, dword [ebp - 0x44]
add edx, 0xfd5b
cmp ecx, edx
jne 0x1001567c
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x24]
jne 0x100155c4
mov dword [ebp - 0xe0], 1
jmp 0x100155ce
mov dword [ebp - 0xe0], 0
movsx ecx, byte [str.address_family_not]
test ecx, ecx
jne 0x100155e5
mov dword [ebp - 0xe4], 1
jmp 0x100155ef
mov dword [ebp - 0xe4], 0
mov edx, dword [ebp - 0xe0]
cmp edx, dword [ebp - 0xe4]
jl 0x10015611
xor eax, eax
mov dword [ebp - 0x1d0], 1
mov dword [ebp - 0x1cc], eax
jmp 0x1001561c
xorps xmm0, xmm0
movlpd qword [ebp - 0x1d0], xmm0
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x284], edx
jmp 0x1001550e
cmp dword [0x1004a154], 0
je 0x10015690
mov edx, dword [ebp - 0x34]
xor edx, 0x69
mov dword [ebp - 0x38], edx
jmp 0x100156be
movsx eax, byte [str.address_family_not]
mov dword [ebp - 0x3c], eax
movzx ecx, byte [ebp - 3]
test ecx, ecx
je 0x100156ac
mov dx, word [ebp - 8]
mov word [ebp - 0x5a], dx
jmp 0x100156b6
mov ax, word [0x1004a120]
mov word [ebp - 0x5a], ax
mov cx, word [ebp - 0x5a]
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x238]
add edx, 0x8b85
mov eax, 0x8f3f
sub eax, edx
mov dword [ebp - 0x248], eax
xor ecx, ecx
mov dword [0x1004a0d8], 4
mov dword [0x1004a0dc], ecx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], 0
jmp 0x10015707
mov eax, dword [ebp - 0x80]
add eax, 2
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xfa
jge 0x1001571e
mov cx, word [ebp - 0xc]
add cx, 1
mov word [ebp - 0xc], cx
jmp 0x100156fe
mov edx, dword [ebp - 0x84]
add edx, 0x3c
mov dword [ebp - 0x240], edx
movzx eax, byte [ebp - 1]
cmp eax, dword [ebp - 0x14]
je 0x10015742
mov dword [ebp - 0xe8], 1
jmp 0x1001574c
mov dword [ebp - 0xe8], 0
movzx ecx, byte [ebp - 1]
cmp ecx, 0x3f
je 0x10015761
mov dword [ebp - 0xec], 1
jmp 0x1001576b
mov dword [ebp - 0xec], 0
mov edx, dword [ebp - 0xe8]
cmp edx, dword [ebp - 0xec]
jl 0x1001578e
movzx eax, byte [0x1004a0bc]
imul eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x14], ecx
jmp 0x100157f6
movsx edx, word [ebp - 0xc]
not edx
mov eax, dword [ebp - 0x4c]
not eax
cmp edx, eax
jbe 0x100157a9
mov dword [ebp - 0xf0], 1
jmp 0x100157b3
mov dword [ebp - 0xf0], 0
cmp dword [ebp - 0xf0], 1
jl 0x100157f6
movsx ecx, word [ebp - 0xc]
add ecx, 0xc8
mov byte [ebp - 3], cl
cmp dword [ebp - 0x3c], 0
je 0x100157dd
mov edx, dword [0x1004a14c]
mov dword [ebp - 0xf4], edx
jmp 0x100157ea
movsx eax, byte [0x1004a093]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
mov dword [0x1004a158], ecx
mov edx, dword [ebp - 0x84]
add edx, 0xc940
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x84]
add eax, 0x10e
mov dword [ebp - 0x23c], eax
mov ecx, dword [0x1003b360]
mov dword [ebp - 0x400], ecx
mov edx, dword [str.urecall]
mov dword [ebp - 0x3fc], edx
mov eax, dword [0x1003b368]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [0x1003b36c]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [0x1003b370]
mov dword [ebp - 0x3f0], edx
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x14], eax
mov ecx, 0x3e
mov word [0x1004a124], cx
mov edx, dword [0x1004a0f8]
mov eax, dword [0x1004a0fc]
mov ecx, dword [ebp - 0x14]
sub ecx, 0x60667cb4
xor esi, esi
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0x294], esi
mov edx, dword [ebp - 0x290]
cmp edx, dword [ebp - 0x298]
jne 0x100159c1
mov eax, dword [ebp - 0x28c]
cmp eax, dword [ebp - 0x294]
jne 0x100159c1
mov ecx, dword [0x1004a104]
add ecx, dword [ebp - 0x48]
cmp ecx, 1
jne 0x100159c1
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x100158e8
mov dword [ebp - 0xf8], 1
jmp 0x100158f2
mov dword [ebp - 0xf8], 0
movsx eax, word [ebp - 8]
xor eax, dword [ebp - 0xf8]
jne 0x1001590a
mov dword [ebp - 0x100], 1
jmp 0x10015914
mov dword [ebp - 0x100], 0
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x10015928
mov dword [ebp - 0xfc], 1
jmp 0x10015932
mov dword [ebp - 0xfc], 0
cmp dword [0x1004a14c], 0
jne 0x1001594f
xor edx, edx
mov dword [ebp - 0x1d8], 1
mov dword [ebp - 0x1d4], edx
jmp 0x1001595a
xorps xmm0, xmm0
movlpd qword [ebp - 0x1d8], xmm0
imul eax, dword [ebp - 0xfc], 0xb6
mov ecx, dword [ebp - 0x100]
sub ecx, eax
mov eax, ecx
cdq
mov ecx, dword [ebp - 0x58]
xor esi, esi
add ecx, dword [ebp - 0x28]
adc esi, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x1d8]
sbb esi, dword [ebp - 0x1d4]
add eax, ecx
adc edx, esi
mov dword [0x1004a0e0], eax
mov dword [0x1004a0e4], edx
imul edx, dword [0x1004a110], 0x212e
movsx eax, word [ebp - 0xc]
and eax, edx
mov word [ebp - 0xc], ax
jmp 0x10015864
xor ecx, ecx
mov dword [0x1004a0f8], 3
mov dword [0x1004a0fc], ecx
movsx eax, word [ebp - 0x10]
cdq
xor eax, dword [ebp - 0x54]
mov word [ebp - 0x10], ax
movsx eax, byte [ebp - 4]
movsx edx, word [ebp - 8]
imul eax, edx
cdq
movsx ecx, word [ebp - 8]
add ecx, dword [ebp - 0x58]
xor esi, esi
mov edi, dword [0x1004a18c]
sub ecx, dword [0x1004a188]
sbb esi, edi
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov word [0x1004a100], ax
mov edx, dword [0x1004a0f8]
mov eax, dword [0x1004a0fc]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jl 0x10015b29
jg 0x10015a44
cmp dword [ebp - 0xc8], 0
jb 0x10015b29
cmp dword [ebp - 0xc4], 0
jg 0x10015b29
jl 0x10015a60
cmp dword [ebp - 0xc8], 3
ja 0x10015b29
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x4c0]
jmp dword [edx*4 + 0x10017c98]
mov ecx, dword [ebp - 0x23c]
add ecx, dword [ebp - 0x240]
mov edx, 0x322
sub edx, ecx
mov dword [ebp - 0x24c], edx
mov dword [ebp - 0x88], 0x47
mov eax, dword [0x1004ac78]
xor ecx, ecx
mov dword [0x1004a130], eax
mov dword [0x1004a134], ecx
mov edx, dword [ebp - 0x34]
cmp edx, dword [0x1004a178]
ja 0x10015b75
mov dword [ebp - 0x104], 1
jmp 0x10015b7f
mov dword [ebp - 0x104], 0
cmp dword [ebp - 0x34], 0x53
jg 0x10015b91
mov dword [ebp - 0x108], 1
jmp 0x10015b9b
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x104]
cmp eax, dword [ebp - 0x108]
jl 0x10015bd7
mov eax, dword [ebp - 0x38]
sar eax, 7
cdq
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
mov eax, dword [0x1004a128]
cdq
push 0xac4ce
push 0x6b9fb285
push edx
push eax
call fcn.1002e960
mov dword [ebp - 0x14], eax
jmp 0x10015be6
mov ecx, dword [0x1004a144]
add ecx, 0x710ce617
mov byte [ebp - 4], cl
mov edx, dword [ebp - 0x88]
add edx, 1
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0x12dc
jl 0x10015b5e
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x8c], eax
movzx ecx, word [ebp - 0x18]
imul edx, ecx, 0xc4
mov byte [ebp - 3], dl
mov eax, dword [ebp - 0x8c]
add eax, 0x395
mov dword [ebp - 0x250], eax
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0x45c], edx
xor ecx, 0x50
movzx eax, byte [ebp - 1]
cdq
sub eax, ecx
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x244]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x248]
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x464], ecx
movzx edx, word [ebp - 0x18]
cmp dword [0x1004a178], edx
jne 0x10015cac
movzx eax, byte [0x1004a06b]
and eax, 0x3a
mov dword [0x1004a128], eax
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0x468], edx
sub ecx, 0xe835
mov dword [ebp - 0x44], ecx
jmp 0x10015d8f
movsx eax, word [ebp - 8]
test eax, eax
je 0x10015d8f
mov eax, dword [ebp - 0x38]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1004a16c]
sub ecx, dword [0x1004a168]
sbb esi, edx
movsx eax, word [0x1004a100]
not eax
cdq
add eax, 0x1fcba99d
adc edx, 0xfffd2c2a
add ecx, eax
adc esi, edx
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x29c], esi
mov eax, dword [ebp - 0x2a0]
or eax, dword [ebp - 0x29c]
jne 0x10015d0d
mov dword [ebp - 0x110], 1
jmp 0x10015d17
mov dword [ebp - 0x110], 0
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0x2a8], ecx
mov dword [ebp - 0x2a4], edx
mov eax, dword [ebp - 0x2a8]
or eax, dword [ebp - 0x2a4]
jne 0x10015d49
mov dword [ebp - 0x10c], 1
jmp 0x10015d53
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [0x1004a158]
or ecx, dword [0x1004a15c]
mov edx, dword [ebp - 0x110]
sub edx, ecx
xor eax, eax
mov dword [0x1004a130], edx
mov dword [0x1004a134], eax
mov eax, dword [0x1004a0e8]
mov edx, dword [0x1004a0ec]
mov cl, 1
call fcn.1002e9f0
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x90]
add edx, 0x306
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x24]
je 0x10015def
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x58]
jae 0x10015dc9
imul edx, dword [ebp - 0x38], 0xb758195
mov dword [ebp - 0x4c], edx
jmp 0x10015ded
mov eax, 0xc1655433
test eax, eax
je 0x10015ded
movzx eax, byte [ebp - 3]
cdq
push 0xd2d6e
push 0xa4b0e0f4
push edx
push eax
call fcn.1002e960
mov dword [0x1004a140], eax
jmp 0x10015e1f
mov ecx, dword [ebp - 0x54]
or ecx, dword [ebp - 0x50]
je 0x10015e1f
movzx eax, byte [0x1004a0bb]
cdq
mov ecx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov dword [0x1004a0e0], eax
mov dword [0x1004a0e4], edx
mov edx, dword [ebp - 0x90]
add edx, 0x3d9
mov dword [ebp - 0x46c], edx
movsx eax, word [ebp - 8]
test eax, eax
je 0x10015e80
movsx ecx, byte [0x1004a03f]
test ecx, ecx
je 0x10015e56
mov edx, dword [0x1004a140]
add edx, 0x1079de24
mov word [ebp - 0x20], dx
jmp 0x10015e7e
mov eax, dword [ebp - 0x44]
cdq
add eax, 0x6eb45d50
mov dword [ebp - 0x3c], eax
movzx eax, byte [0x1004a056]
sub eax, dword [0x1004a148]
movzx ecx, byte [0x1004a056]
sub ecx, eax
mov byte [0x1004a056], cl
jmp 0x10015ee3
movzx edx, byte [0x1004a056]
test edx, edx
je 0x10015eb1
mov dword [0x1004a14c], 0x557e
mov eax, 4
imul ecx, eax, 7
mov eax, dword [ecx + 0x1024013c]
cdq
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
jmp 0x10015ee3
mov edx, dword [0x1004a0e0]
mov eax, dword [0x1004a0e4]
mov dword [ebp - 0x2b0], edx
mov dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x2b0]
or ecx, dword [ebp - 0x2ac]
je 0x10015ee3
movzx edx, word [ebp - 0x1c]
sub edx, 0x4d36
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x90]
add eax, 0x39c
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x94], 0x2057
movzx eax, byte [0x1004a0bc]
not eax
add eax, 0xcc83
cdq
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
cmp dword [ebp - 0x94], 0x1e6b
jle 0x10015f66
mov ecx, dword [0x1004a178]
xor edx, edx
add ecx, 0x3736adb7
adc edx, 0x60db8
mov dword [0x1004a180], ecx
mov dword [0x1004a184], edx
movsx eax, word [ebp - 0xc]
movsx ecx, byte [0x1004a017]
add eax, ecx
mov word [ebp - 0xc], ax
mov edx, dword [ebp - 0x94]
sub edx, 1
mov dword [ebp - 0x94], edx
jmp 0x10015f18
mov eax, dword [0x1004ac78]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x98], 0
jmp 0x10015f8c
mov ecx, dword [ebp - 0x98]
add ecx, 1
mov dword [ebp - 0x98], ecx
cmp dword [ebp - 0x98], 0x1df
jge 0x10015fd3
mov edx, dword [ebp - 0x4c]
xor eax, eax
add edx, dword [0x1004a0e8]
adc eax, dword [0x1004a0ec]
mov ecx, dword [0x1004a0e8]
sub ecx, edx
mov edx, dword [0x1004a0ec]
sbb edx, eax
mov dword [0x1004a0e8], ecx
mov dword [0x1004a0ec], edx
mov ax, word [ebp - 0x10]
add ax, 1
mov word [ebp - 0x10], ax
jmp 0x10015f7d
mov ecx, dword [ebp - 0xa0]
add ecx, 0x327
mov dword [ebp - 0x260], ecx
cmp dword [ebp - 0x34], 0
jne 0x10016000
cmp dword [0x1004a14c], 0
jne 0x10016000
mov dword [ebp - 0x11c], 0
jmp 0x1001600a
mov dword [ebp - 0x11c], 1
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x1001601e
mov dword [ebp - 0x114], 1
jmp 0x10016028
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x48]
jl 0x1001603f
mov dword [ebp - 0x118], 1
jmp 0x10016049
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x118]
not ecx
cmp dword [ebp - 0x11c], ecx
jg 0x100160c6
mov dword [ebp - 0x9c], 0xbe
jmp 0x10016074
mov edx, dword [ebp - 0x9c]
sub edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0
jle 0x100160c4
mov eax, dword [0x1004a148]
imul eax, dword [0x1004a110]
mov dword [0x1004a148], eax
mov ecx, 1
imul edx, ecx, 0x383c
mov al, byte [0x1004a178]
mov byte [edx + 0x1018b0c0], al
mov ecx, dword [0x1004a0d8]
mov edx, dword [0x1004a0dc]
add ecx, 1
adc edx, 0
mov dword [0x1004a0d8], ecx
mov dword [0x1004a0dc], edx
jmp 0x10016065
jmp 0x100160e3
mov eax, dword [0x1004a158]
sub eax, 0xe4
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1004a190]
imul ecx, dword [ebp - 0x38]
mov dword [0x1004a190], ecx
mov edx, dword [ebp - 0xa0]
add edx, 0x36d
mov dword [ebp - 0x470], edx
push 0x1003b374
movsx eax, word [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2b4]
jne 0x10016137
mov dword [ebp - 0x120], 1
jmp 0x10016141
mov dword [ebp - 0x120], 0
movzx ecx, byte [0x1004a0bc]
mov eax, dword [ebp - 0x120]
sub eax, ecx
cdq
mov ecx, dword [ebp - 0x3c]
xor esi, esi
sub ecx, dword [0x1004a170]
sbb esi, dword [0x1004a174]
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], edx
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x2c4], esi
mov edx, dword [ebp - 0x2bc]
cmp edx, dword [ebp - 0x2c4]
jg 0x100161a4
jl 0x10016198
mov eax, dword [ebp - 0x2c0]
cmp eax, dword [ebp - 0x2c8]
jae 0x100161a4
mov dword [ebp - 0x124], 1
jmp 0x100161ae
mov dword [ebp - 0x124], 0
movsx ecx, word [ebp - 0x10]
cmp ecx, dword [0x1004a0c8]
jb 0x100161c6
mov dword [ebp - 0x128], 1
jmp 0x100161d0
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x128]
jle 0x100161e0
jmp 0x10016223
mov eax, 0xffffff98
test eax, eax
je 0x10016223
mov ecx, dword [0x1004a160]
mov edx, dword [0x1004a164]
mov dword [ebp - 0x478], edx
xor ecx, 0x56861214
mov word [ebp - 8], cx
mov eax, dword [0x1004a180]
mov ecx, dword [0x1004a184]
xor eax, 0xa73c2b07
xor ecx, 0
mov dword [0x1004a168], eax
mov dword [0x1004a16c], ecx
mov edx, dword [ebp - 0x24c]
add edx, dword [ebp - 0xa0]
mov dword [ebp - 0x21c], edx
movzx eax, word [0x1004a150]
cdq
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2cc]
cmp eax, dword [0x1004a0ec]
ja 0x1001627c
jb 0x10016267
mov ecx, dword [ebp - 0x2d0]
cmp ecx, dword [0x1004a0e8]
jae 0x1001627c
movsx edx, byte [0x1004a03e]
mov eax, dword [ebp - 0x34]
imul eax, edx
mov dword [ebp - 0x34], eax
jmp 0x10016305
mov ecx, dword [ebp - 0x54]
or ecx, dword [ebp - 0x50]
je 0x100162ce
movzx eax, byte [ebp - 1]
movsx edx, word [ebp - 0x10]
imul edx, dword [0x1004a128]
sub eax, edx
cdq
mov esi, eax
movzx eax, word [0x1004a0cc]
movsx ecx, byte [0x1004a03e]
sub eax, ecx
cdq
mov ecx, eax
mov edi, edx
movzx eax, word [ebp - 0x1c]
cdq
and eax, dword [0x1004a118]
and edx, dword [0x1004a11c]
push edx
push eax
push edi
push ecx
call fcn.1002e960
sub esi, eax
mov dword [ebp - 0x14], esi
jmp 0x10016305
movzx edx, byte [ebp - 3]
cmp edx, dword [ebp - 0x38]
jl 0x10016305
mov eax, dword [0x1004a0c8]
xor ecx, ecx
add eax, dword [0x1004a0e8]
adc ecx, dword [0x1004a0ec]
mov dword [0x1004a0e8], eax
mov dword [0x1004a0ec], ecx
movzx edx, word [ebp - 0x40]
xor edx, 0x45fe
mov byte [0x1004a0bc], dl
mov eax, dword [ebp + 8]
push eax
push 0
push 0
call fcn.10001320
add esp, 8
call eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x68], 0
cmp dword [ebp - 0x250], 0x4e6
je 0x10016a45
mov dword [0x1004a190], 0xadb7
movzx ecx, word [ebp - 0x1c]
sub ecx, 0x6847a13
xor edx, edx
add ecx, dword [0x1004a118]
adc edx, dword [0x1004a11c]
mov dword [0x1004a118], ecx
mov dword [0x1004a11c], edx
mov eax, dword [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x2dc], esi
mov edx, dword [ebp - 0x2d4]
cmp edx, dword [ebp - 0x2dc]
ja 0x100163ad
jb 0x100163a2
mov eax, dword [ebp - 0x2d8]
cmp eax, dword [ebp - 0x2e0]
ja 0x100163ad
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x48], ecx
jmp 0x10016421
movsx edx, byte [0x1004a03f]
mov eax, dword [ebp - 0x44]
not eax
cmp edx, eax
jl 0x100163d1
xor ecx, ecx
mov dword [ebp - 0x1e8], 1
mov dword [ebp - 0x1e4], ecx
jmp 0x100163dc
xorps xmm0, xmm0
movlpd qword [ebp - 0x1e8], xmm0
mov edx, dword [0x1004a180]
mov eax, dword [0x1004a184]
mov dword [ebp - 0x2e8], edx
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x1e8]
cmp ecx, dword [ebp - 0x2e8]
jne 0x10016421
mov edx, dword [ebp - 0x1e4]
cmp edx, dword [ebp - 0x2e4]
jne 0x10016421
movzx eax, byte [0x1004a056]
add eax, dword [0x1004a110]
mov dword [0x1004a158], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2f0], edx
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2f0]
or ecx, dword [ebp - 0x2ec]
je 0x100164f3
movzx eax, byte [0x1004a056]
cdq
mov ecx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
sbb edx, ecx
not eax
not edx
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], edx
mov edx, dword [ebp - 0x2f8]
or edx, dword [ebp - 0x2f4]
je 0x100164ae
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0x47c], edx
add ecx, eax
mov dword [ebp - 0x58], ecx
mov eax, dword [0x1004a158]
xor eax, 0x5328
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
jmp 0x100164f3
xor edx, edx
je 0x100164f3
cmp dword [ebp - 0x3c], 0
jne 0x100164cc
xor eax, eax
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2fc], eax
jmp 0x100164d7
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x480], edx
add ecx, dword [ebp - 0x300]
mov word [ebp - 0x10], cx
mov eax, dword [ebp - 0xa4]
add eax, 0x21
mov dword [ebp - 0x254], eax
movzx ecx, byte [0x1004a0ba]
cmp dword [ebp - 0x48], ecx
jl 0x100165c7
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
mov dword [ebp - 0x484], ecx
movzx edx, al
push edx
push 0x5f
movzx eax, byte [str.J64_]
push eax
movzx ecx, byte [ebp - 3]
push ecx
call fcn.100248f0
add esp, 0x14
movsx eax, al
cdq
mov dword [0x1004a0d0], eax
mov dword [0x1004a0d4], edx
mov edx, dword [0x1004a0d0]
or edx, dword [0x1004a0d4]
je 0x10016570
push 0x1003b384
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov word [ebp - 0xc], ax
jmp 0x100165c7
movzx eax, word [ebp - 0x40]
cdq
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x308]
cmp eax, dword [ebp - 0x28]
jne 0x100165a3
mov ecx, dword [ebp - 0x304]
cmp ecx, dword [ebp - 0x24]
jne 0x100165a3
mov dword [ebp - 0x12c], 1
jmp 0x100165ad
mov dword [ebp - 0x12c], 0
movzx edx, byte [ebp - 3]
sub edx, dword [ebp - 0x12c]
jne 0x100165c7
movzx eax, byte [ebp - 3]
add eax, 0x733ace5
mov dword [0x1004a148], eax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x83
mov dword [ebp - 0x4a0], ecx
movsx edx, word [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0xa4]
add eax, 0xc312
mov dword [ebp - 0x4c4], eax
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x310]
or eax, dword [ebp - 0x30c]
jne 0x10016627
mov dword [ebp - 0x130], 1
jmp 0x10016631
mov dword [ebp - 0x130], 0
cmp dword [0x1004a14c], 0
jne 0x1001664e
xor ecx, ecx
mov dword [ebp - 0x1f0], 1
mov dword [ebp - 0x1ec], ecx
jmp 0x10016659
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f0], xmm0
mov eax, dword [ebp - 0x14]
xor eax, dword [ebp - 0x130]
not eax
cdq
mov ecx, dword [ebp - 0x1f0]
sub ecx, dword [0x1004a0d0]
mov esi, dword [ebp - 0x1ec]
sbb esi, dword [0x1004a0d4]
xor eax, ecx
xor edx, esi
mov dword [0x1004a168], eax
mov dword [0x1004a16c], edx
mov eax, dword [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
xor ecx, eax
xor esi, edx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x254]
xor ecx, 0x83
add ecx, 0x81
mov dword [ebp - 0x258], ecx
push 0
push 0
lea edx, [ebp - 0x68]
push edx
push 0
push 1
mov eax, dword [ebp - 0x180]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0
call fcn.10001260
add esp, 8
call eax
test eax, eax
jne 0x10016a45
movzx edx, byte [0x1004a0bb]
sub edx, 0x59
mov byte [ebp - 1], dl
movzx eax, byte [0x1004a056]
sub eax, 0x67bdc490
mov word [ebp - 0x1c], ax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x14]
cdq
mov edx, dword [0x1004a158]
add edx, dword [0x1004a0e8]
sub eax, edx
mov byte [ebp - 4], al
mov dword [ebp - 0x4c], 0x80
mov eax, dword [ebp - 0xa8]
add eax, 0x125
mov dword [ebp - 0x4d0], eax
lea ecx, [ebp - 0xa0c]
push ecx
push 0
push 0x1003b388
push 0x1003b390
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x258]
add edx, dword [ebp - 0xa8]
mov dword [ebp - 0x25c], edx
movsx eax, word [ebp - 0x20]
cdq
add eax, dword [ebp - 0x28]
adc edx, dword [ebp - 0x24]
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x318]
or eax, dword [ebp - 0x314]
jne 0x100167ac
xor ecx, ecx
mov dword [ebp - 0x1f8], 1
mov dword [ebp - 0x1f4], ecx
jmp 0x100167b7
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f8], xmm0
movsx edx, byte [0x1004a017]
test edx, edx
jne 0x100167ce
mov dword [ebp - 0x134], 1
jmp 0x100167d8
mov dword [ebp - 0x134], 0
mov eax, dword [0x1004a160]
mov ecx, dword [0x1004a164]
mov edx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
sbb ecx, edx
push ecx
push eax
mov eax, dword [ebp - 0x1f4]
push eax
mov ecx, dword [ebp - 0x1f8]
push ecx
call fcn.1002e960
mov ecx, eax
mov esi, edx
movsx eax, word [0x1004a100]
sub eax, dword [ebp - 0x134]
movzx edx, byte [ebp - 1]
imul edx, dword [ebp - 0x14]
not edx
add eax, edx
not eax
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x1004a118], ecx
mov dword [0x1004a11c], esi
mov eax, dword [ebp - 0x28]
and eax, 0x5afe
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0xa8]
add ecx, 0x2fb
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x138]
imul edx, dword [ebp - 0x138]
imul eax, dword [ebp - 0x25c], 0x28a
cmp edx, eax
je 0x10016a45
xor ecx, ecx
mov dword [0x1004a0e8], 1
mov dword [0x1004a0ec], ecx
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x10016892
mov dword [ebp - 0x13c], 1
jmp 0x1001689c
mov dword [ebp - 0x13c], 0
mov eax, dword [0x1004a14c]
or eax, dword [ebp - 0x13c]
not eax
mov dword [0x1004a128], eax
mov ecx, dword [0x1004a0e8]
mov edx, dword [0x1004a0ec]
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c8]
or eax, dword [ebp - 0x1c4]
je 0x100168e8
cmp dword [ebp - 0x1c8], 1
jne 0x100168e6
cmp dword [ebp - 0x1c4], 0
je 0x10016902
jmp 0x1001692a
movzx eax, byte [0x1004a0ba]
add eax, 0xc1
cdq
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
jmp 0x1001692a
mov dword [ebp - 0x14], 0x16b6
movzx eax, byte [0x1004a0bc]
cdq
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x404], edx
sub eax, ecx
mov byte [0x1004a0bc], al
mov dword [0x1004a110], 4
movsx eax, word [ebp - 0xc]
mov ecx, dword [0x1004a15c]
sub ecx, eax
jne 0x1001694e
mov dword [ebp - 0x140], 1
jmp 0x10016958
mov dword [ebp - 0x140], 0
mov edx, dword [ebp - 0x48]
not edx
and edx, dword [ebp - 0x140]
mov word [ebp - 8], dx
mov eax, dword [0x1004a110]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 4
ja case.default.0x10016985
mov ecx, dword [ebp - 0x144]
jmp dword [ecx*4 + 0x10017ca8]
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x48]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov dword [ebp - 0x48], eax
jmp case.default.0x10016985
movsx edx, word [ebp - 0x20]
movzx eax, word [0x1004a0f0]
sub edx, eax
mov word [ebp - 0x20], dx
jmp case.default.0x10016985
movsx ecx, byte [ebp - 2]
imul ecx, dword [0x1004a140]
not ecx
xor ecx, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push edx
push ecx
push esi
push eax
call fcn.1002e960
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
jmp case.default.0x10016985
mov eax, dword [ebp - 0x44]
cdq
add eax, 0xb53fe445
adc edx, 0xd8477
mov dword [0x1004a168], eax
mov dword [0x1004a16c], edx
movsx ecx, byte [ebp - 4]
imul eax, ecx, 0x12
cdq
mov dword [0x1004a0c0], eax
mov dword [0x1004a0c4], edx
jmp case.default.0x10016985
movzx edx, word [ebp - 0x18]
imul edx, dword [ebp - 0x38]
movzx eax, word [ebp - 0x18]
add eax, edx
mov word [ebp - 0x18], ax
mov ecx, dword [0x1004ac78]
mov dword [0x1004a140], ecx
xor eax, eax
jmp 0x10017c90
push 0xf6
push 0xef
push 0xc7
push 0xfe
push 0
push 0
push 0x50
call fcn.10024c40
add esp, 0x1c
mov word [ebp - 0x1c], ax
movzx edx, word [ebp - 0x1c]
test edx, edx
jl 0x10016a8d
push 0x1003b394
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x408], eax
jmp 0x10016bdb
movsx ecx, byte [0x1004a093]
test ecx, ecx
je 0x10016ac2
cmp dword [0x1004a178], 0
je 0x10016aab
mov dx, word [ebp - 0x18]
mov word [ebp - 0x62], dx
jmp 0x10016ab3
mov ax, word [ebp - 0x18]
mov word [ebp - 0x62], ax
movzx ecx, word [ebp - 0x62]
mov dword [0x1004a110], ecx
jmp 0x10016bdb
movsx edx, byte [ebp - 2]
test edx, edx
jne 0x10016ad6
mov dword [ebp - 0x148], 1
jmp 0x10016ae0
mov dword [ebp - 0x148], 0
movsx eax, word [ebp - 8]
cmp eax, dword [ebp - 0x148]
jg 0x10016af8
mov dword [ebp - 0x14c], 1
jmp 0x10016b02
mov dword [ebp - 0x14c], 0
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
not ecx
not edx
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x31c], edx
cmp dword [ebp - 0x320], 0xf0842768
jne 0x10016b42
cmp dword [ebp - 0x31c], 0xfff4c670
jne 0x10016b42
mov dword [ebp - 0x150], 1
jmp 0x10016b4c
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x150]
jl 0x10016b66
mov dword [ebp - 0x154], 1
jmp 0x10016b70
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x154]
not ecx
test ecx, ecx
je 0x10016bb5
mov edx, dword [0x1004a110]
add edx, 0xe2
mov eax, dword [0x1004a154]
add eax, edx
mov dword [0x1004a154], eax
movsx ecx, word [0x1004a120]
movsx edx, word [0x1004a100]
sub ecx, edx
movsx eax, word [0x1004a120]
add eax, ecx
mov word [0x1004a120], ax
jmp 0x10016bdb
movsx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x10016bdb
movsx edx, word [0x1004a120]
xor edx, 0xf928
mov word [0x1004a100], dx
mov al, byte [0x1004ac78]
mov byte [0x1004a0bc], al
mov ecx, dword [ebp - 0x68]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x6c], eax
xor edx, edx
mov dword [0x1004a0f8], 0x4fc31ae0
mov dword [0x1004a0fc], edx
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
movzx eax, word [ebp - 0x1c]
add eax, 1
cdq
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x324], esi
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], edx
mov edx, dword [ebp - 0x328]
cmp edx, dword [ebp - 0x330]
jne 0x10016d42
mov eax, dword [ebp - 0x324]
cmp eax, dword [ebp - 0x32c]
jne 0x10016d42
mov eax, dword [0x1004a140]
sub eax, 0x7e9a
not eax
cdq
mov ecx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
add ecx, dword [ebp - 0x28]
adc esi, dword [ebp - 0x24]
push esi
push ecx
push edx
push eax
call fcn.1002e960
movzx edx, byte [ebp - 1]
mov ecx, dword [0x1004a190]
not ecx
movzx esi, word [0x1004a150]
imul ecx, esi
imul edx, ecx
add eax, edx
mov word [ebp - 8], ax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40c], eax
sub edx, 0xbdb1
mov dword [ebp - 0x4c], edx
movsx ecx, byte [0x1004a017]
cmp ecx, 1
jne 0x10016d42
mov eax, dword [ebp - 0x14]
cdq
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], edx
mov edx, dword [ebp - 0x334]
cmp edx, dword [ebp - 0x50]
jg 0x10016cf3
jl 0x10016ce7
mov eax, dword [ebp - 0x338]
cmp eax, dword [ebp - 0x54]
ja 0x10016cf3
mov dword [ebp - 0x158], 1
jmp 0x10016cfd
mov dword [ebp - 0x158], 0
cmp dword [ebp - 0x14], 0x37
jg 0x10016d0f
mov dword [ebp - 0x15c], 1
jmp 0x10016d19
mov dword [ebp - 0x15c], 0
jmp 0x10016d42
xor eax, eax
mov dword [0x1004a0f8], 0x4fc31ae0
mov dword [0x1004a0fc], eax
mov dword [0x1004a190], 0x58
mov ecx, dword [ebp - 0xac]
imul ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 0x160]
add edx, 0x42
imul ecx, edx
mov eax, dword [ebp - 0xac]
xor eax, dword [ebp - 0xac]
cmp ecx, eax
je 0x10016e19
mov ecx, dword [str.gb18030]
mov edx, dword [0x1003b3a8]
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3bc], edx
lea eax, [ebp - 0x3c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1004a093], al
cmp dword [ebp - 0x6c], 0
jne 0x10016e19
mov dword [ebp - 0xb0], 0x192b
mov ecx, dword [0x1004a17c]
sub ecx, dword [ebp - 0x34]
mov dword [0x1004a17c], ecx
cmp dword [ebp - 0xb0], 0x1893
jle 0x10016e12
mov edx, dword [0x1004a144]
sub edx, dword [0x1004a0c8]
add edx, dword [0x1004a144]
mov dword [0x1004a144], edx
mov eax, dword [ebp - 0x54]
not eax
mov dword [0x1004a104], eax
mov ecx, dword [ebp - 0xb0]
sub ecx, 1
mov dword [ebp - 0xb0], ecx
jmp 0x10016dd3
xor eax, eax
jmp 0x10017c90
mov edx, dword [ebp - 0x260]
cmp dword [ebp - 0x21c], edx
je 0x10017b9d
push 0x104
lea eax, [ebp - 0x700]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
xor ecx, ecx
mov dword [0x1004a108], eax
mov dword [0x1004a10c], ecx
movzx eax, word [ebp - 0x40]
cdq
add eax, 0x8b6cb784
mov dword [ebp - 0x38], eax
movzx edx, byte [0x1004a0ba]
mov eax, dword [0x1004a140]
sub eax, edx
mov dword [0x1004a128], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xb4], ecx
movsx eax, byte [0x1004a093]
cdq
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], edx
mov edx, dword [ebp - 0x340]
cmp edx, dword [ebp - 0x54]
jne 0x10016eac
mov eax, dword [ebp - 0x33c]
cmp eax, dword [ebp - 0x50]
jne 0x10016eac
mov dword [ebp - 0x168], 1
jmp 0x10016eb6
mov dword [ebp - 0x168], 0
movsx ecx, byte [0x1004a093]
test ecx, ecx
jne 0x10016ecd
mov dword [ebp - 0x164], 1
jmp 0x10016ed7
mov dword [ebp - 0x164], 0
movzx edx, word [0x1004a150]
cmp edx, dword [ebp - 0x164]
je 0x10016ef2
mov dword [ebp - 0x16c], 1
jmp 0x10016efc
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x168]
not eax
cmp eax, dword [ebp - 0x16c]
jl 0x10016f76
mov ecx, dword [0x1004a154]
xor edx, edx
mov dword [ebp - 0x348], ecx
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x344]
cmp eax, dword [0x1004a0ec]
ja 0x10016f74
jb 0x10016f3e
mov ecx, dword [ebp - 0x348]
cmp ecx, dword [0x1004a0e8]
ja 0x10016f74
movsx edx, word [ebp - 8]
movsx eax, word [ebp - 0x20]
sub edx, eax
movsx ecx, word [ebp - 8]
sub ecx, edx
mov word [ebp - 8], cx
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
mov edx, dword [0x1004a160]
mov eax, dword [0x1004a164]
mov dword [ebp - 0x410], eax
add ecx, edx
mov eax, dword [ebp - 0x44]
cdq
sub eax, ecx
mov dword [ebp - 0x44], eax
jmp 0x10016f94
movzx eax, word [0x1004a124]
cdq
add eax, 0x31000dc1
adc edx, 0xfd7fc
mov dword [0x1004a0e0], eax
mov dword [0x1004a0e4], edx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x63
mov dword [ebp - 0x414], ecx
mov edx, dword [str.x_iscii_de]
mov dword [ebp - 0x3ec], edx
mov eax, dword [0x1003b3c4]
mov dword [ebp - 0x3e8], eax
mov ecx, dword [0x1003b3c8]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [0x1003b3cc]
mov dword [ebp - 0x3e0], edx
mov eax, dword [0x1003b3d0]
mov dword [ebp - 0x3dc], eax
mov cx, word [0x1003b3d4]
mov word [ebp - 0x3d8], cx
lea edx, [ebp - 0x3ec]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1004a154], eax
mov eax, dword [ebp - 0xb4]
add eax, 0x67
mov dword [ebp - 0x174], eax
movsx ecx, byte [0x1004a093]
test ecx, ecx
je 0x10017072
mov edx, dword [str.User_is_logged_in]
mov dword [ebp - 0x3d4], edx
mov eax, dword [0x1003b3dc]
mov dword [ebp - 0x3d0], eax
mov ecx, dword [0x1003b3e0]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [0x1003b3e4]
mov dword [ebp - 0x3c8], edx
mov ax, word [0x1003b3e8]
mov word [ebp - 0x3c4], ax
mov cl, byte [0x1003b3ea]
mov byte [ebp - 0x3c2], cl
lea edx, [ebp - 0x3d4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x1004a150], ax
mov eax, dword [ebp - 0xb4]
add eax, 0xe5
mov dword [ebp - 0x418], eax
movsx eax, word [ebp - 0xc]
cdq
add eax, 0xced0994e
adc edx, 0xa8103
mov dword [0x1004a0e8], eax
mov dword [0x1004a0ec], edx
mov ecx, 0xf8d4
mov word [0x1004a150], cx
movzx edx, word [0x1004a150]
movzx eax, word [ebp - 0x1c]
add eax, 1
cmp edx, eax
jne 0x100171c4
cmp dword [0x1004a14c], 0
jne 0x100170dd
xor ecx, ecx
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x204], ecx
jmp 0x100170e8
xorps xmm0, xmm0
movlpd qword [ebp - 0x208], xmm0
movzx edx, word [ebp - 0x40]
sub edx, dword [0x1004a148]
jne 0x10017108
xor eax, eax
mov dword [ebp - 0x200], 1
mov dword [ebp - 0x1fc], eax
jmp 0x10017113
xorps xmm0, xmm0
movlpd qword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x2c]
mov edx, 0x76affec9
sub edx, dword [ebp - 0x30]
mov eax, 0x5c271
sbb eax, ecx
add edx, dword [ebp - 0x200]
adc eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x350], edx
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp - 0x350]
or ecx, dword [ebp - 0x34c]
jne 0x1001715f
xor edx, edx
mov dword [ebp - 0x358], 1
mov dword [ebp - 0x354], edx
jmp 0x1001716a
xorps xmm0, xmm0
movlpd qword [ebp - 0x358], xmm0
movsx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x208]
mov esi, dword [ebp - 0x24]
adc esi, dword [ebp - 0x204]
push esi
push ecx
push edx
push eax
call fcn.1002e960
add eax, dword [ebp - 0x358]
mov dword [0x1004a104], eax
cmp dword [0x1004a190], 1
jne 0x100171c4
movsx edx, word [ebp - 0x20]
movzx eax, word [ebp - 0x40]
add edx, eax
mov word [ebp - 0x20], dx
mov dword [ebp - 0x38], 4
jmp 0x100171c4
mov edx, 0xf8d4
mov word [0x1004a150], dx
movsx eax, byte [ebp - 2]
add eax, dword [0x1004a158]
mov byte [ebp - 2], al
push 0xcb
push 0
push 0
push 0
movzx ecx, word [ebp - 0x10]
push ecx
push 0
movzx dx, byte [ebp - 3]
movzx eax, dx
push eax
call fcn.10024c40
add esp, 0x1c
mov word [ebp - 0x10], ax
movzx eax, byte [0x1004a0ba]
cdq
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], edx
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x35c]
jl 0x1001723c
jg 0x10017230
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x360]
jb 0x1001723c
mov dword [ebp - 0x170], 1
jmp 0x10017246
mov dword [ebp - 0x170], 0
cmp dword [ebp - 0x170], 0
jle 0x10017267
movsx eax, word [ebp - 0xc]
imul ecx, eax, 0xf8e0
mov byte [0x1004a0bb], cl
mov dl, byte [ebp - 3]
mov byte [ebp - 1], dl
jmp 0x10017282
xor eax, eax
mov dword [ebp - 0x54], 0x71f3
mov dword [ebp - 0x50], eax
mov ecx, dword [0x1004a17c]
shr ecx, 8
mov dword [0x1004a128], ecx
mov edx, dword [ebp - 0x174]
xor edx, dword [ebp - 0x174]
add edx, 0xbe
mov dword [ebp - 0x224], edx
mov dword [0x1004a110], 0xf8
mov eax, dword [ebp - 0x14]
add eax, 1
cmp dword [0x1004a110], eax
jne 0x10017516
mov dword [ebp - 0x220], 0x104
lea ecx, [ebp - 0x220]
push ecx
lea edx, [ebp - 0x804]
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov byte [0x1004a0ba], al
movzx eax, byte [0x1004a0ba]
test eax, eax
je 0x10017300
push 0
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
jmp 0x100173db
movsx edx, byte [ebp - 2]
test edx, edx
je 0x10017323
mov eax, dword [ebp - 0x14]
sub eax, 0x9a
mov ecx, dword [0x1004a140]
sub ecx, eax
mov dword [0x1004a140], ecx
jmp 0x100173db
movzx eax, word [0x1004a0cc]
cdq
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], edx
cmp dword [ebp - 0x364], 0xf511f
jl 0x100173a4
jg 0x10017351
cmp dword [ebp - 0x368], 0x71f63fa3
jb 0x100173a4
movzx eax, byte [0x1004a06b]
cdq
mov ecx, dword [0x1004a180]
mov esi, dword [0x1004a184]
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov ecx, dword [0x1004a180]
mov esi, dword [0x1004a184]
add ecx, eax
adc esi, edx
mov dword [0x1004a180], ecx
mov dword [0x1004a184], esi
movsx eax, byte [0x1004a093]
sub eax, 0xf7
cdq
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
jmp 0x100173db
mov edx, dword [0x1004a180]
mov eax, dword [0x1004a184]
mov dword [ebp - 0x370], edx
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x370], 0x51
jne 0x100173cd
cmp dword [ebp - 0x36c], 0
je 0x100173db
movsx ecx, word [ebp - 0x10]
movzx edx, byte [ebp - 3]
sub ecx, edx
mov word [ebp - 0x10], cx
movsx eax, byte [0x1004a03e]
cmp eax, 1
jne 0x10017516
mov byte [ebp - 2], 1
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x374], edx
mov eax, dword [ebp - 0x378]
or eax, dword [ebp - 0x374]
je 0x10017420
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x178], ecx
jmp 0x10017429
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x178], edx
mov ax, word [ebp - 0x178]
mov word [ebp - 0x40], ax
mov cl, byte [ebp - 2]
mov byte [ebp - 0x17c], cl
cmp byte [ebp - 0x17c], 0
je 0x10017454
cmp byte [ebp - 0x17c], 1
je 0x10017472
jmp 0x100174f0
mov edx, dword [str.J64_]
add edx, 0x3e448301
mov byte [ebp - 2], dl
mov eax, dword [0x1004a148]
sar eax, 8
mov byte [0x1004a0ba], al
jmp 0x100174f0
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x58], ecx
movsx edx, word [ebp - 0xc]
test edx, edx
jne 0x10017497
xor eax, eax
mov dword [ebp - 0x380], 1
mov dword [ebp - 0x37c], eax
jmp 0x100174a2
xorps xmm0, xmm0
movlpd qword [ebp - 0x380], xmm0
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [0x1004a0d8]
mov edx, dword [0x1004a0dc]
mov dword [ebp - 0x41c], edx
sub ecx, eax
mov eax, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov dword [ebp - 0x420], edx
not eax
xor eax, dword [ebp - 0x380]
add ecx, eax
mov eax, dword [ebp - 0x48]
not eax
cdq
xor eax, dword [ebp - 0x54]
movzx edx, word [ebp - 0x1c]
or edx, dword [0x1004a158]
sub eax, edx
add ecx, eax
mov word [ebp - 8], cx
jmp 0x10017516
mov dword [0x1004a110], 0xf8
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
add edx, 0xcdfd39ab
adc eax, 0
mov dword [0x1004a0c0], edx
mov dword [0x1004a0c4], eax
push 0
push 0
lea ecx, [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
push 1
mov eax, dword [ebp - 0x180]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0
call fcn.10001260
add esp, 8
call eax
test eax, eax
jne 0x10017b9d
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x388]
or ecx, dword [ebp - 0x384]
je 0x100175a1
mov edx, dword [0x1004a17c]
mov dword [ebp - 0x184], edx
jmp 0x100175ab
movsx eax, word [ebp - 0x10]
mov dword [ebp - 0x184], eax
mov cx, word [ebp - 0x184]
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
jne 0x100175d2
xor eax, eax
mov dword [ebp - 0x210], 1
mov dword [ebp - 0x20c], eax
jmp 0x100175dd
xorps xmm0, xmm0
movlpd qword [ebp - 0x210], xmm0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x20c]
cmp eax, dword [ebp - 0x38c]
jb 0x10017619
ja 0x1001760d
mov ecx, dword [ebp - 0x210]
cmp ecx, dword [ebp - 0x390]
jb 0x10017619
mov dword [ebp - 0x18c], 1
jmp 0x10017623
mov dword [ebp - 0x18c], 0
cmp dword [ebp - 0x38], 0
jne 0x10017635
mov dword [ebp - 0x188], 1
jmp 0x1001763f
mov dword [ebp - 0x188], 0
mov edx, dword [0x1004a154]
cmp dword [ebp - 0x188], edx
ja 0x10017659
mov dword [ebp - 0x190], 1
jmp 0x10017663
mov dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x18c]
cmp eax, dword [ebp - 0x190]
jge 0x1001767d
mov dword [ebp - 0x198], 1
jmp 0x10017687
mov dword [ebp - 0x198], 0
movsx ecx, byte [ebp - 4]
cmp dword [ebp - 0x34], ecx
jne 0x1001769c
mov dword [ebp - 0x194], 1
jmp 0x100176a6
mov dword [ebp - 0x194], 0
movsx edx, word [ebp - 8]
add edx, 0xf5b1
cmp dword [ebp - 0x194], edx
jle 0x100176c4
mov dword [ebp - 0x19c], 1
jmp 0x100176ce
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x19c]
jle 0x100176fc
mov ecx, dword [0x1004a0e0]
mov edx, dword [0x1004a0e4]
add ecx, dword [ebp - 0x28]
adc edx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x28]
adc edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
jmp 0x10017735
movzx eax, byte [0x1004a06b]
test eax, eax
je 0x10017735
mov eax, dword [0x1004a140]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
and ecx, eax
and esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
mov ecx, dword [ebp - 0x58]
add ecx, 0xd4854b08
movsx eax, byte [0x1004a03f]
cdq
add eax, ecx
mov byte [0x1004a03f], al
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x34
mov dword [0x1004a144], eax
movsx ecx, byte [ebp - 2]
xor ecx, 0xe5891aef
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0xb8]
add edx, 0x208
mov dword [ebp - 0x60], edx
movzx eax, byte [ebp - 1]
cmp eax, dword [ebp - 0x38]
jge 0x1001777e
mov dword [ebp - 0x1a0], 1
jmp 0x10017788
mov dword [ebp - 0x1a0], 0
movzx ecx, byte [ebp - 1]
cmp ecx, 0x1e
jge 0x1001779d
mov dword [ebp - 0x1a4], 1
jmp 0x100177a7
mov dword [ebp - 0x1a4], 0
mov edx, dword [ebp - 0x1a0]
cmp edx, dword [ebp - 0x1a4]
jle 0x100177f6
push 0x6f
call fcn.10024660
add esp, 4
mov dword [0x1004a158], eax
movsx eax, byte [0x1004a093]
cmp eax, 0x1b
jg 0x100177f4
mov ecx, 9
mov esi, str.Failed_to_set_desk
lea edi, [ebp - 0x4f8]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x4f8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x14], eax
jmp 0x100177fd
movsx edx, word [ebp - 0xc]
add edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xb8]
add ecx, 0x185
mov dword [ebp - 0xbc], ecx
mov edx, dword [0x1004a190]
sub edx, 0x4015
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0xb8]
mov dword [ebp - 0x424], eax
mov byte [0x1004a0bb], 0x7d
movsx ecx, byte [str.address_family_not]
movzx edx, byte [0x1004a0bb]
add edx, dword [ebp - 0x44]
cmp ecx, edx
jne 0x10017a31
mov dword [ebp - 0xc0], 5
mov al, byte [0x1004ac78]
mov byte [ebp - 2], al
mov ecx, 4
mov word [ebp - 8], cx
mov dword [0x1004a104], 2
movsx edx, word [ebp - 8]
mov dword [ebp - 0x1a8], edx
cmp dword [ebp - 0x1a8], 4
ja case.default.0x10017892
mov eax, dword [ebp - 0x1a8]
jmp dword [eax*4 + 0x10017cbc]
mov ecx, dword [str.J64_]
add ecx, 0x110a859d
mov edx, dword [0x1004a13c]
adc edx, 0x894bc
mov dword [0x1004a0d8], ecx
mov dword [0x1004a0dc], edx
jmp case.default.0x10017892
movsx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x4c]
imul ecx, eax
mov edx, dword [ebp - 0x4c]
and edx, ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
jmp case.default.0x10017892
mov edx, dword [ebp - 0x28]
xor edx, 0x4200b0d7
mov byte [ebp - 2], dl
jmp case.default.0x10017892
movsx eax, byte [ebp - 4]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x54]
movsx eax, byte [ebp - 4]
cdq
sub eax, ecx
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x38]
mov dword [ebp - 0x14], edx
jmp case.default.0x10017892
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x10017922
mov dword [ebp - 0x1ac], 1
jmp 0x1001792c
mov dword [ebp - 0x1ac], 0
movsx eax, byte [str.address_family_not]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
movzx edx, byte [0x1004a0bb]
not edx
mov eax, edx
imul eax, dword [ebp - 0x1ac]
cdq
sub ecx, eax
mov word [ebp - 0xc], cx
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x15c9
jl 0x10017862
movzx eax, word [0x1004a150]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x44]
cdq
add eax, 0xb94856bf
adc edx, 0x42b0d
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], esi
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], edx
mov edx, dword [ebp - 0x398]
cmp edx, dword [ebp - 0x3a0]
jne 0x10017a31
mov eax, dword [ebp - 0x394]
cmp eax, dword [ebp - 0x39c]
jne 0x10017a31
movsx eax, word [ebp - 0x10]
cdq
sub eax, 0xcf521dd
mov dword [0x1004a154], eax
jmp 0x10017830
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xbc]
or ecx, dword [ebp - 0x60]
imul eax, ecx
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0xbc]
xor edx, ecx
cmp eax, edx
jne 0x10017b9d
movsx edx, byte [ebp - 4]
test edx, edx
jne 0x10017a99
mov eax, dword [0x1004a160]
mov ecx, dword [0x1004a164]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x3a8]
or edx, dword [ebp - 0x3a4]
jne 0x10017a99
xorps xmm0, xmm0
movlpd qword [ebp - 0x218], xmm0
jmp 0x10017aab
xor eax, eax
mov dword [ebp - 0x218], 1
mov dword [ebp - 0x214], eax
movsx eax, word [ebp - 0x20]
not eax
cdq
add eax, dword [ebp - 0x28]
adc edx, dword [ebp - 0x24]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [ebp - 0x3ac]
jg 0x10017aee
jl 0x10017ae2
mov edx, dword [ebp - 0x218]
cmp edx, dword [ebp - 0x3b0]
ja 0x10017aee
mov dword [ebp - 0x1b0], 1
jmp 0x10017af8
mov dword [ebp - 0x1b0], 0
movsx eax, byte [ebp - 2]
movzx ecx, word [ebp - 0x18]
cmp eax, ecx
jle 0x10017b1f
movzx edx, word [0x1004a124]
cmp edx, 0xf54e
jg 0x10017b1f
mov dword [ebp - 0x1b4], 1
jmp 0x10017b29
mov dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1b4]
jge 0x10017b39
jmp 0x10017b52
movzx eax, word [0x1004a0cc]
cdq
sub eax, 0x71fcfe16
sbb edx, 0xd92d6
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.100317aa
add esp, 4
movsx edx, word [ebp - 8]
test edx, edx
jne 0x10017b7d
mov dword [ebp - 0x1b8], 1
jmp 0x10017b87
mov dword [ebp - 0x1b8], 0
movsx eax, word [ebp - 0xc]
sub eax, dword [ebp - 0x1b8]
mov byte [0x1004a092], al
xor eax, eax
jmp 0x10017c90
movsx ecx, byte [str.address_family_not]
imul ecx, dword [ebp - 0x48]
test ecx, ecx
jne 0x10017bc0
xor edx, edx
mov dword [ebp - 0x3b8], 1
mov dword [ebp - 0x3b4], edx
jmp 0x10017bcb
xorps xmm0, xmm0
movlpd qword [ebp - 0x3b8], xmm0
mov eax, dword [ebp - 0x3c]
not eax
movzx ecx, byte [ebp - 3]
not ecx
sub eax, ecx
movzx edx, word [0x1004a0cc]
movsx ecx, word [ebp - 0x10]
sub edx, ecx
not edx
add eax, edx
mov ecx, eax
movzx eax, byte [ebp - 3]
not eax
cdq
mov edx, dword [ebp - 0x28]
sub edx, eax
add edx, dword [ebp - 0x3b8]
add ecx, edx
mov byte [0x1004a056], cl
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x68]
mov dword [eax], ecx
push 0xffffffffffffffad
push 0
movzx edx, byte [0x1004a118]
push edx
movzx eax, byte [0x1004a092]
push eax
push 0xffffffffffffffcb
call fcn.100248f0
add esp, 0x14
movsx cx, al
mov word [ebp - 0x20], cx
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x10017c51
mov eax, 0xc9ed6
mov dword [0x1004a170], 0x7a42a7b4
mov dword [0x1004a174], eax
jmp 0x10017c8d
cmp dword [0x1004a17c], 0
je 0x10017c8d
mov eax, dword [ebp - 0x34]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x428], eax
sub ecx, edx
mov eax, dword [ebp - 0x34]
cdq
add eax, ecx
mov dword [ebp - 0x34], eax
movsx eax, byte [ebp - 4]
cdq
add eax, 0xd5b434b7
adc edx, 0xea087
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x6c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret