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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1438
call fcn.1002ea10
push ebx
push esi
push edi
movzx eax, byte [0x1004a0bc]
mov dword [ebp - 0x6f8], eax
xor ecx, ecx
mov dword [ebp - 0x24], 0x5b3aa71d
mov dword [ebp - 0x20], ecx
mov byte [ebp - 3], 0x2a
movzx eax, byte [0x1004a0bc]
cdq
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
movsx eax, byte [0x1004a03e]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dl, byte [0x1004a06b]
mov byte [ebp - 1], dl
movzx eax, byte [0x1004a0bb]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], 0x2995
mov cl, byte [0x1004a108]
mov byte [ebp - 2], cl
mov edx, dword [0x1004a0c8]
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1004a110]
mov dword [ebp - 0x60], eax
mov cx, word [0x1004a108]
mov word [ebp - 0x1c], cx
mov edx, dword [0x1004a170]
mov eax, dword [0x1004a174]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x6f4], edx
mov byte [ebp - 4], cl
mov eax, dword [0x1004a110]
cdq
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov ax, word [0x1004a0cc]
mov byte [ebp - 5], al
mov ecx, dword [0x1004a170]
mov dword [ebp - 0x38], ecx
mov edx, 0x4db50
mov dword [ebp - 0x48], 0x82080ca9
mov dword [ebp - 0x44], edx
mov ax, word [0x1004a100]
mov byte [ebp - 6], al
mov ecx, 0x39db
mov word [ebp - 0xc], cx
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
mov ecx, 0xffffb256
mov word [ebp - 0x10], cx
xor edx, edx
mov dword [ebp - 0x68], 0x94
mov dword [ebp - 0x64], edx
mov eax, 0x16
mov word [ebp - 0x368], ax
mov eax, dword [0x1004a148]
cdq
mov dword [ebp - 0x7bc], eax
mov dword [ebp - 0x7b8], edx
mov dword [ebp - 0x6f0], 0x38
movzx eax, byte [0x1004a06b]
cdq
mov dword [ebp - 0x7c4], eax
mov dword [ebp - 0x7c0], edx
mov dword [ebp - 0x6ec], 0x5196fc44
mov dword [ebp - 0x6e8], 0xba821ba
mov ecx, dword [0x1004a190]
mov word [ebp - 0x36c], cx
movzx eax, byte [0x1004a06b]
cdq
mov dword [ebp - 0x7cc], eax
mov dword [ebp - 0x7c8], edx
mov dword [ebp - 0x6e4], 0x744ce8c9
mov edx, dword [0x1004a14c]
mov dword [ebp - 0x6e0], edx
mov dword [ebp - 0x6dc], 0x5047aabe
mov dword [ebp - 0x6d8], 0xa9
mov ax, word [0x1004a120]
mov byte [ebp - 0xd5], al
mov byte [ebp - 0xd6], 0x80
mov dword [ebp - 0x6d4], 0x6cdfc4e0
mov ecx, 0xffff8be7
mov word [ebp - 0x370], cx
mov edx, dword [0x1004a0e0]
mov eax, dword [0x1004a0e4]
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x3a8]
or ecx, dword [ebp - 0x3a4]
je 0x100253d5
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x28c], eax
jmp 0x100253e6
movsx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], edx
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x34], ecx
movzx eax, byte [0x1004a056]
cdq
sub eax, dword [0x1004a108]
mov byte [0x1004a056], al
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xac]
add eax, 0x9944
mov dword [ebp - 0x6d0], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, 0xb5
movsx eax, word [ebp - 0xc]
cdq
sub eax, ecx
mov word [ebp - 0xc], ax
mov edx, dword [ebp - 0xac]
add edx, 0x60b1
mov dword [ebp - 0x6cc], edx
mov byte [ebp - 6], 2
push 0
push 0xd5
mov eax, dword [0x1004a10c]
push eax
mov ecx, dword [0x1004a108]
push ecx
call fcn.1002e960
mov ecx, eax
movzx eax, word [0x1004a0f0]
cdq
add eax, ecx
mov word [0x1004a0f0], ax
mov dl, byte [ebp - 6]
mov byte [ebp - 0xcc], dl
cmp byte [ebp - 0xcc], 0
je 0x1002549a
cmp byte [ebp - 0xcc], 1
je 0x100254ac
cmp byte [ebp - 0xcc], 2
je 0x100254cb
jmp 0x100254e2
movzx eax, byte [ebp - 2]
movzx ecx, word [0x1004a124]
sub eax, ecx
mov byte [ebp - 2], al
jmp 0x100254e2
mov edx, dword [0x1004a0f8]
mov eax, dword [0x1004a0fc]
mov dword [ebp - 0x7dc], eax
sub edx, 0x9a
mov dword [0x1004a158], edx
jmp 0x100254e2
mov ecx, dword [ebp - 0x2c]
add ecx, 0x3c011014
mov edx, dword [0x1004a154]
add edx, ecx
mov dword [0x1004a154], edx
mov eax, dword [ebp - 0xac]
add eax, 0xec97
mov dword [ebp - 0x23c], eax
movsx ecx, word [ebp - 0xc]
test ecx, ecx
je 0x1002550f
mov eax, dword [0x1004a128]
cdq
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], edx
jmp 0x10025521
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x288], edx
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x34], ecx
movzx eax, word [ebp - 0x1c]
movsx edx, byte [0x1004a017]
sub eax, edx
cdq
mov ecx, dword [0x1004a160]
mov edx, dword [0x1004a164]
mov dword [ebp - 0x7d8], edx
sub ecx, eax
mov dword [0x1004a14c], ecx
mov eax, dword [0x1004ac78]
mov dword [0x1004a14c], eax
movsx eax, byte [0x1004a03e]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x7ac], eax
add ecx, edx
movsx eax, byte [0x1004a03e]
cdq
add eax, ecx
mov byte [0x1004a03e], al
mov ecx, dword [ebp - 0x23c]
xor ecx, dword [ebp - 0x23c]
mov edx, 0x1db
sub edx, ecx
mov dword [ebp - 0x37c], edx
lea eax, [ebp - 0xe20]
push eax
push 0
push 0x1003b460
push 0x1003b468
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
xor ecx, ecx
mov dword [0x1004a0d8], eax
mov dword [0x1004a0dc], ecx
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3b0]
or ecx, dword [ebp - 0x3ac]
jne 0x10025603
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov ecx, dword [0x1004a0fc]
add edx, dword [0x1004a0f8]
adc eax, ecx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
jmp 0x1002563f
mov edx, dword [ebp - 0x24]
sub edx, 0x73dd
mov eax, dword [ebp - 0x20]
sbb eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1004a14c]
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
mov dword [ebp - 0x7b0], eax
sub ecx, edx
mov edx, dword [0x1004a14c]
sub edx, ecx
mov dword [0x1004a14c], edx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0xc8], eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetFileType]
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0xc8]
add edx, 0xb3a6
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0x34], 0
jne 0x1002567e
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x10025869
mov ecx, dword [0x1004a0c0]
mov edx, dword [0x1004a0c4]
mov dword [ebp - 0x7e0], edx
movzx eax, cx
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x7a8], edx
movzx eax, cx
push eax
movzx ecx, word [0x1004a140]
push ecx
push 0x87
mov edx, dword [ebp - 0x34]
push edx
push 0x39
push 0
call fcn.10024c40
add esp, 0x1c
movzx eax, ax
cdq
mov dword [0x1004a180], eax
mov dword [0x1004a184], edx
mov eax, dword [0x1004a180]
mov ecx, dword [0x1004a184]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b4], ecx
cmp dword [ebp - 0x3b4], 0
jl 0x10025707
jg 0x100256fb
cmp dword [ebp - 0x3b8], 0
jbe 0x10025707
mov dword [ebp - 0x240], 1
jmp 0x10025711
mov dword [ebp - 0x240], 0
mov edx, dword [0x1004a180]
mov eax, dword [0x1004a184]
mov dword [ebp - 0x3c0], edx
mov dword [ebp - 0x3bc], eax
cmp dword [ebp - 0x3bc], 0
jl 0x10025748
jg 0x1002573c
cmp dword [ebp - 0x3c0], 0x23
jbe 0x10025748
mov dword [ebp - 0x244], 1
jmp 0x10025752
mov dword [ebp - 0x244], 0
mov ecx, dword [ebp - 0x240]
cmp ecx, dword [ebp - 0x244]
jne 0x100257a5
mov edx, dword [ebp - 0x68]
or edx, dword [ebp - 0x64]
je 0x10025775
mov eax, dword [0x1004a17c]
mov dword [ebp - 0x248], eax
jmp 0x10025781
mov ecx, dword [0x1004a0c8]
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
xor eax, eax
mov dword [0x1004a160], edx
mov dword [0x1004a164], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x68ee7d78
mov byte [ebp - 2], cl
jmp 0x10025869
cmp dword [ebp - 0x30], 0
je 0x100257c0
cmp dword [0x1004a14c], 0
jne 0x100257c0
mov dword [ebp - 0x24c], 1
jmp 0x100257ca
mov dword [ebp - 0x24c], 0
mov edx, dword [0x1004a0d0]
or edx, dword [0x1004a0d4]
je 0x100257f1
mov eax, dword [0x1004a108]
or eax, dword [0x1004a10c]
je 0x100257f1
mov dword [ebp - 0x250], 1
jmp 0x100257fb
mov dword [ebp - 0x250], 0
mov ecx, dword [ebp - 0x24c]
cmp ecx, dword [ebp - 0x250]
jne 0x1002583d
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x7a0], eax
sub edx, ecx
mov dword [0x1004a17c], edx
mov ecx, dword [0x1004a118]
add ecx, 0xeb5afd4c
mov dword [0x1004a104], ecx
jmp 0x10025869
mov edx, dword [0x1004a118]
or edx, dword [0x1004a11c]
je 0x10025869
mov eax, dword [0x1004a154]
mov ecx, 1
imul edx, ecx, 0xe
mov byte [edx + 0x100d64f8], al
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc8]
add eax, 0xd2a9
mov dword [ebp - 0x374], eax
push 0x104
lea ecx, [ebp - 0x90c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov byte [ebp - 1], al
mov edx, dword [ebp - 0xc8]
add edx, 0x69
mov dword [ebp - 0x79c], edx
movsx eax, byte [0x1004a03f]
test eax, eax
jne 0x100258d3
mov eax, dword [ebp - 0x5c]
cdq
xor eax, 0xba796149
mov dword [0x1004a144], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
push 0xa297a
push 0xdf43abf8
push edx
push ecx
call fcn.1002e960
mov byte [ebp - 5], al
jmp 0x1002590a
cmp dword [0x1004a140], 0
jne 0x100258e8
mov dword [ebp - 0xe8], 1
jmp 0x100258f2
mov dword [ebp - 0xe8], 0
movzx eax, word [0x1004a150]
mov ecx, dword [0x1004a144]
xor ecx, dword [ebp - 0xe8]
sub eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xec]
add eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0x374]
xor edx, 0xf5
imul eax, edx
cdq
mov ecx, 0x273d7909
sub ecx, eax
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x60]
not edx
test edx, edx
jne 0x10025959
mov eax, 0xffffdd5b
test eax, eax
jne 0x10025959
xor ecx, ecx
mov dword [ebp - 0x280], 1
mov dword [ebp - 0x27c], ecx
jmp 0x10025964
xorps xmm0, xmm0
movlpd qword [ebp - 0x280], xmm0
cmp dword [ebp - 0x27c], 0x78650
jl 0x100259ac
jg 0x1002597e
cmp dword [ebp - 0x280], 0x5b819e0c
jb 0x100259ac
movzx eax, byte [0x1004a0bc]
cdq
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], edx
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x3c8]
jne 0x100259ac
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x3c4]
je 0x10025a2e
movzx ecx, byte [ebp - 1]
cmp ecx, dword [0x1004a190]
ja 0x100259c4
mov dword [ebp - 0xf0], 1
jmp 0x100259ce
mov dword [ebp - 0xf0], 0
movzx edx, byte [ebp - 1]
cmp edx, 0x33
jg 0x100259e3
mov dword [ebp - 0xf4], 1
jmp 0x100259ed
mov dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0xf4]
jle 0x10025a29
movsx eax, word [ebp - 0xc]
sar eax, 8
cdq
mov dword [0x1004a170], eax
mov dword [0x1004a174], edx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
add ecx, 0xb7
adc edx, 0
mov dword [0x1004a160], ecx
mov dword [0x1004a164], edx
jmp 0x10025b5c
mov eax, dword [0x1004a14c]
add eax, 1
mov dword [0x1004a14c], eax
movsx ecx, word [ebp - 0x10]
test ecx, ecx
jne 0x10025a57
xor edx, edx
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x274], edx
jmp 0x10025a62
xorps xmm0, xmm0
movlpd qword [ebp - 0x278], xmm0
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov edx, dword [0x1004a134]
mov esi, dword [ebp - 0x278]
sub esi, dword [0x1004a130]
mov edi, dword [ebp - 0x274]
sbb edi, edx
push edi
push esi
push ecx
push eax
call fcn.1002e960
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], edx
mov eax, dword [ebp - 0x3d0]
or eax, dword [ebp - 0x3cc]
jne 0x10025ab8
xor ecx, ecx
mov dword [ebp - 0x2a8], 1
mov dword [ebp - 0x2a4], ecx
jmp 0x10025ac3
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
movsx edx, byte [0x1004a093]
test edx, edx
jne 0x10025ae2
xor eax, eax
mov dword [ebp - 0x270], 1
mov dword [ebp - 0x26c], eax
jmp 0x10025aed
xorps xmm0, xmm0
movlpd qword [ebp - 0x270], xmm0
movsx eax, byte [str.address_family_not]
cdq
mov ecx, dword [0x1004a0c0]
mov esi, dword [0x1004a0c4]
push edx
push eax
push esi
push ecx
call fcn.1002e960
push edx
push eax
mov edx, dword [ebp - 0x26c]
push edx
mov eax, dword [ebp - 0x270]
push eax
call fcn.1002e960
not eax
not edx
xor eax, dword [ebp - 0x2a8]
xor edx, dword [ebp - 0x2a4]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], edx
mov ecx, dword [ebp - 0x3d8]
or ecx, dword [ebp - 0x3d4]
jne 0x10025b4f
mov byte [ebp - 0x69], 1
jmp 0x10025b53
mov byte [ebp - 0x69], 0
mov dl, byte [ebp - 0x69]
mov byte [0x1004a0ba], dl
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x78], eax
mov ecx, dword [0x1004a104]
xor edx, edx
xor ecx, dword [ebp - 0x40]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x78]
add eax, 0x40
mov dword [ebp - 0x7b4], eax
movzx ecx, byte [0x1004a0bc]
push ecx
push 0
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
mov dword [ebp - 0x6fc], eax
movzx ecx, dl
push ecx
movzx edx, byte [ebp - 0x5c]
push edx
push 0
call fcn.100248f0
add esp, 0x14
mov byte [0x1004a056], al
mov eax, dword [ebp - 0x2c]
or eax, dword [ebp - 0x28]
jne 0x10025bf5
mov ecx, dword [str.J64_]
not ecx
mov edx, dword [0x1004a13c]
not edx
mov dword [ebp - 0x3e0], ecx
mov dword [ebp - 0x3dc], edx
mov eax, dword [ebp - 0x3e0]
or eax, dword [ebp - 0x3dc]
jne 0x10025bf5
mov dword [ebp - 0x100], 0
jmp 0x10025bff
mov dword [ebp - 0x100], 1
mov ecx, dword [0x1004a0d0]
or ecx, dword [0x1004a0d4]
jne 0x10025c19
mov dword [ebp - 0xf8], 1
jmp 0x10025c23
mov dword [ebp - 0xf8], 0
mov edx, dword [ebp - 0x40]
or edx, dword [ebp - 0x3c]
jne 0x10025c37
mov dword [ebp - 0xfc], 1
jmp 0x10025c41
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xf8]
add eax, dword [ebp - 0xfc]
cmp dword [ebp - 0x100], eax
jge 0x10025c61
mov dword [ebp - 0x104], 1
jmp 0x10025c6b
mov dword [ebp - 0x104], 0
mov ecx, dword [ebp - 0x104]
not ecx
test ecx, ecx
je 0x10025d11
push 0x78
call fcn.10024660
add esp, 4
mov dword [0x1004a14c], eax
cmp dword [0x1004a14c], 0
ja 0x10025cc5
mov edx, dword [0x1004a118]
sub edx, 0xb5
mov eax, dword [0x1004a11c]
sbb eax, 0
mov ecx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
add ecx, edx
adc esi, eax
mov dword [0x1004a0e0], ecx
mov dword [0x1004a0e4], esi
jmp 0x10025d0f
mov edx, 0xffffa337
test edx, edx
je 0x10025cf4
movsx eax, word [0x1004a100]
sub eax, 0x6ae2
cdq
add eax, dword [0x1004a0e8]
adc edx, dword [0x1004a0ec]
mov dword [0x1004a0e8], eax
mov dword [0x1004a0ec], edx
jmp 0x10025d0f
cmp dword [ebp - 0x34], 0
je 0x10025d0f
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x34]
add eax, dword [0x1004a118]
mov ecx, dword [ebp - 0x34]
add ecx, eax
mov dword [ebp - 0x34], ecx
jmp 0x10025d4a
movsx eax, word [ebp - 0x10]
add eax, 0x3a30
cdq
mov dword [0x1004a0d8], eax
mov dword [0x1004a0dc], edx
movzx eax, byte [ebp - 3]
cdq
mov ecx, eax
mov edx, dword [0x1004a0e0]
mov eax, dword [0x1004a0e4]
mov dword [ebp - 0x700], eax
add ecx, edx
movzx eax, byte [ebp - 3]
cdq
and eax, ecx
mov byte [ebp - 3], al
mov ecx, dword [ebp - 0x78]
add ecx, 0x63
mov dword [ebp - 0x704], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e8]
or ecx, dword [ebp - 0x3e4]
je 0x10025d83
movsx eax, word [ebp - 0x10]
cdq
sub eax, 0x51ad2e9b
mov byte [ebp - 3], al
mov edx, dword [ebp - 0x78]
add edx, 0x8a9a
mov dword [ebp - 0x708], edx
mov eax, dword [0x1004a170]
not eax
mov ecx, dword [0x1004a174]
not ecx
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], ecx
mov edx, dword [ebp - 0x3f0]
or edx, dword [ebp - 0x3ec]
jne 0x10025dca
movsx eax, byte [0x1004a017]
cmp dword [0x1004a17c], eax
jae 0x10025e03
movsx ecx, word [ebp - 0x10]
movzx edx, byte [0x1004a0bc]
cmp ecx, edx
jle 0x10025dfe
mov eax, dword [0x1004a160]
mov ecx, dword [0x1004a164]
mov dword [ebp - 0x70c], ecx
sub eax, 0xaa9a7d85
mov dword [ebp - 0x34], eax
movsx edx, byte [ebp - 5]
mov eax, dword [ebp - 0x60]
add eax, edx
mov byte [ebp - 5], al
jmp 0x10025ed0
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x10025e2e
mov dword [ebp - 0x38], 0x5c1a
mov edx, 2
imul eax, edx, 0x36e1
mov cl, byte [eax + 0x101b53f0]
mov byte [0x1004a03f], cl
jmp 0x10025ed0
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x2c]
jne 0x10025e3e
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x28]
je 0x10025e4a
mov dword [ebp - 0x108], 1
jmp 0x10025e54
mov dword [ebp - 0x108], 0
movsx ecx, byte [0x1004a017]
mov edx, dword [ebp - 0x108]
sub edx, ecx
je 0x10025e9e
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, dword [ebp - 0x40]
not ecx
mov esi, dword [ebp - 0x3c]
not esi
push esi
push ecx
push edx
push eax
call fcn.1002e960
movzx edx, byte [ebp - 4]
mov ecx, dword [ebp - 0x30]
sub ecx, edx
add eax, ecx
mov byte [0x1004a06b], al
jmp 0x10025ed0
movzx edx, byte [ebp - 6]
movzx eax, byte [ebp - 2]
sub edx, eax
je 0x10025ed0
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x34], ecx
mov eax, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov cl, 7
call fcn.1002e9c0
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
movsx edx, byte [0x1004a03f]
movsx eax, word [ebp - 0x10]
cmp edx, eax
jne 0x10025eeb
mov dword [ebp - 0x10c], 1
jmp 0x10025ef5
mov dword [ebp - 0x10c], 0
movzx ecx, byte [0x1004a0ba]
cmp dword [ebp - 0x10c], ecx
jle 0x10025f10
mov dword [ebp - 0x110], 1
jmp 0x10025f1a
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0x110]
not edx
test edx, edx
je 0x10025f8a
cmp dword [0x1004a140], 0
je 0x10025f7c
movsx eax, byte [0x1004a093]
cdq
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x3f8], ecx
mov dword [ebp - 0x3f4], esi
mov edx, dword [ebp - 0x3f8]
or edx, dword [ebp - 0x3f4]
jne 0x10025f67
mov dword [ebp - 0x114], 1
jmp 0x10025f71
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x60], eax
jmp 0x10025f88
xor ecx, ecx
mov dword [ebp - 0x2c], 0xc64e
mov dword [ebp - 0x28], ecx
jmp 0x10025f9d
mov edx, dword [0x1004ac78]
xor eax, eax
mov dword [0x1004a168], edx
mov dword [0x1004a16c], eax
mov dword [ebp - 0x384], 0x328
push 0x1003b46c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x80], ecx
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x400], edx
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x400]
or ecx, dword [ebp - 0x3fc]
je 0x10026215
push 0
push 0xf4
push 0x89
push 0x83
push 0xc9
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x710], eax
movzx ecx, dx
push ecx
push 0
call fcn.10024c40
add esp, 0x1c
movzx eax, ax
cdq
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
movzx edx, byte [0x1004a06b]
test edx, edx
je 0x10026043
movsx eax, byte [0x1004a017]
test eax, eax
jne 0x10026043
mov dword [ebp - 0x118], 1
jmp 0x1002604d
mov dword [ebp - 0x118], 0
movsx ecx, word [0x1004a120]
cmp ecx, dword [ebp - 0x118]
jle 0x10026068
mov dword [ebp - 0x120], 1
jmp 0x10026072
mov dword [ebp - 0x120], 0
movzx edx, byte [0x1004a0bb]
test edx, edx
je 0x1002608f
cmp dword [ebp - 0x34], 0
je 0x1002608f
mov dword [ebp - 0x11c], 1
jmp 0x10026099
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x60]
not eax
mov ecx, dword [0x1004a190]
sub ecx, eax
cmp ecx, dword [ebp - 0x11c]
ja 0x100260ba
mov dword [ebp - 0x124], 1
jmp 0x100260c4
mov dword [ebp - 0x124], 0
mov edx, dword [ebp - 0x120]
add edx, dword [ebp - 0x124]
je 0x100261e6
movzx eax, word [ebp - 0x2c]
push eax
push 0
movzx ecx, word [0x1004a118]
push ecx
push 0x23
push 0x6e
push 0
movsx dx, byte [0x1004a03e]
movzx eax, dx
push eax
call fcn.10024c40
add esp, 0x1c
movzx ecx, ax
mov dword [0x1004a128], ecx
cmp dword [0x1004a128], 0
je 0x10026174
mov edx, dword [str.GetBoolProperty__T]
mov dword [ebp - 0x6b8], edx
mov eax, dword [0x1003b478]
mov dword [ebp - 0x6b4], eax
mov ecx, dword [0x1003b47c]
mov dword [ebp - 0x6b0], ecx
mov edx, dword [0x1003b480]
mov dword [ebp - 0x6ac], edx
mov ax, word [0x1003b484]
mov word [ebp - 0x6a8], ax
mov cl, byte [0x1003b486]
mov byte [ebp - 0x6a6], cl
lea edx, [ebp - 0x6b8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
jmp 0x100261e4
movsx eax, byte [0x1004a03f]
not eax
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], edx
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x40c], esi
mov edx, dword [ebp - 0x408]
cmp edx, dword [ebp - 0x410]
jne 0x100261b8
mov eax, dword [ebp - 0x404]
cmp eax, dword [ebp - 0x40c]
je 0x100261c4
mov dword [ebp - 0x128], 1
jmp 0x100261ce
mov dword [ebp - 0x128], 0
movsx ecx, byte [ebp - 5]
cmp ecx, dword [ebp - 0x128]
jne 0x100261e4
mov dword [0x1004a178], 0xd83c47f
jmp 0x10026213
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x418], edx
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x418]
or ecx, dword [ebp - 0x414]
je 0x10026213
movzx edx, byte [0x1004a0ba]
mov dword [0x1004a104], edx
jmp 0x1002628b
movsx eax, word [ebp - 0xc]
test eax, eax
jne 0x10026231
xor ecx, ecx
mov dword [ebp - 0x2a0], 1
mov dword [ebp - 0x29c], ecx
jmp 0x1002623c
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a0], xmm0
mov edx, dword [0x1004a0ec]
cmp edx, dword [ebp - 0x29c]
ja 0x10026265
jb 0x10026259
mov eax, dword [0x1004a0e8]
cmp eax, dword [ebp - 0x2a0]
jae 0x10026265
mov dword [ebp - 0x12c], 1
jmp 0x1002626f
mov dword [ebp - 0x12c], 0
movsx ecx, word [ebp - 0xc]
mov edx, dword [ebp - 0x60]
imul edx, ecx
cmp edx, dword [ebp - 0x12c]
jae 0x1002628b
movzx eax, word [ebp - 0x1c]
shl eax, 3
mov byte [ebp - 5], al
mov ecx, dword [ebp - 0x80]
add ecx, 0x109
mov dword [ebp - 0x168], ecx
mov edx, 1
imul eax, edx, 0x24
mov cl, byte [0x1004a0c8]
mov byte [eax + 0x101bd950], cl
mov edx, dword [0x1004a154]
sub edx, 1
mov dword [0x1004a154], edx
mov eax, dword [ebp - 0x80]
add eax, 0x6b
mov dword [ebp - 0x714], eax
push 0
push 0
push 0xffffffffffffff8b
push 0xffffffffffffffad
push 0
call fcn.100248f0
add esp, 0x14
movsx eax, al
cdq
mov dword [0x1004a188], eax
mov dword [0x1004a18c], edx
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x41c], edx
cmp dword [ebp - 0x41c], 0
ja 0x10026314
cmp dword [ebp - 0x420], 0
jb 0x1002638d
mov dword [ebp - 0x7c], 0x1b7
jmp 0x10026326
mov eax, dword [ebp - 0x7c]
sub eax, 1
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jle 0x10026388
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x10026340
mov dword [ebp - 0x130], 1
jmp 0x1002634a
mov dword [ebp - 0x130], 0
movzx eax, byte [ebp - 4]
add eax, dword [ebp - 0x5c]
movsx edx, byte [0x1004a03e]
not edx
add edx, dword [ebp - 0x130]
sub eax, edx
cdq
mov dword [0x1004a168], eax
mov dword [0x1004a16c], edx
movzx eax, word [0x1004a0f0]
sar eax, 2
mov dword [0x1004a0c8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x1002631d
jmp 0x1002653a
mov edx, dword [0x1004a0e0]
mov eax, dword [0x1004a0e4]
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x428]
or ecx, dword [ebp - 0x424]
je 0x100263c9
movzx edx, byte [0x1004a0ba]
test edx, edx
je 0x100263c9
mov dword [ebp - 0x134], 1
jmp 0x100263d3
mov dword [ebp - 0x134], 0
movsx eax, word [0x1004a100]
cmp eax, dword [0x1004a190]
jb 0x100263ee
mov dword [ebp - 0x138], 1
jmp 0x100263f8
mov dword [ebp - 0x138], 0
mov ecx, dword [ebp - 0x134]
cmp ecx, dword [ebp - 0x138]
jge 0x10026430
movzx eax, byte [ebp - 2]
sub eax, 0x25
cdq
mov dword [0x1004a168], eax
mov dword [0x1004a16c], edx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
add edx, 1
adc eax, 0
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
jmp 0x1002653a
movsx ecx, word [ebp - 0x10]
test ecx, ecx
jne 0x1002644d
cmp dword [0x1004a158], 0
jne 0x1002644d
mov dword [ebp - 0x13c], 0
jmp 0x10026457
mov dword [ebp - 0x13c], 1
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
mov dword [ebp - 0x430], edx
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x430]
or ecx, dword [ebp - 0x42c]
je 0x10026490
mov edx, dword [ebp - 0x68]
or edx, dword [ebp - 0x64]
jne 0x10026490
mov dword [ebp - 0x140], 0
jmp 0x1002649a
mov dword [ebp - 0x140], 1
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x140]
jl 0x1002653a
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
not ecx
not esi
movzx eax, byte [0x1004a0ba]
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x434], esi
mov edx, dword [ebp - 0x438]
or edx, dword [ebp - 0x434]
jne 0x100264e8
mov dword [ebp - 0x144], 1
jmp 0x100264f2
mov dword [ebp - 0x144], 0
imul eax, dword [ebp - 0x38], 0x38de
not eax
mov ecx, dword [ebp - 0x144]
sub ecx, eax
jne 0x10026511
mov dword [ebp - 0x148], 1
jmp 0x1002651b
mov dword [ebp - 0x148], 0
movsx edx, word [ebp - 0xc]
imul edx, dword [0x1004a0c8]
movsx eax, word [ebp - 0xc]
sub edx, eax
xor edx, dword [ebp - 0x148]
not edx
mov byte [0x1004a093], dl
mov ecx, dword [ebp - 0x80]
add ecx, 0xd9
mov dword [ebp - 0x718], ecx
mov dword [ebp - 0x378], 0x104
lea edx, [ebp - 0x378]
push edx
lea eax, [ebp - 0xa10]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movsx edx, byte [0x1004a03e]
test edx, edx
jne 0x10026586
mov dword [ebp - 0x14c], 1
jmp 0x10026590
mov dword [ebp - 0x14c], 0
movsx eax, byte [0x1004a03f]
not eax
cmp eax, dword [ebp - 0x14c]
je 0x100265ad
mov dword [ebp - 0x150], 1
jmp 0x100265b7
mov dword [ebp - 0x150], 0
movsx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x100265cb
mov dword [ebp - 0x154], 1
jmp 0x100265d5
mov dword [ebp - 0x154], 0
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x154]
je 0x10026632
movsx eax, byte [str.address_family_not]
xor eax, 0xffffff64
jne 0x10026605
xor ecx, ecx
mov dword [ebp - 0x298], 1
mov dword [ebp - 0x294], ecx
jmp 0x10026610
xorps xmm0, xmm0
movlpd qword [ebp - 0x298], xmm0
movsx eax, byte [ebp - 5]
cdq
add eax, dword [ebp - 0x24]
adc edx, dword [ebp - 0x20]
add eax, dword [ebp - 0x298]
adc edx, dword [ebp - 0x294]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp 0x10026760
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x2c]
not ecx
mov esi, dword [ebp - 0x28]
not esi
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], edx
mov dword [ebp - 0x448], ecx
mov dword [ebp - 0x444], esi
mov edx, dword [ebp - 0x43c]
cmp edx, dword [ebp - 0x444]
jl 0x10026683
jg 0x10026677
mov eax, dword [ebp - 0x440]
cmp eax, dword [ebp - 0x448]
jb 0x10026683
mov dword [ebp - 0x158], 1
jmp 0x1002668d
mov dword [ebp - 0x158], 0
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], esi
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], edx
mov edx, dword [ebp - 0x450]
cmp edx, dword [ebp - 0x458]
jne 0x100266cc
mov eax, dword [ebp - 0x44c]
cmp eax, dword [ebp - 0x454]
je 0x100266d8
mov dword [ebp - 0x15c], 1
jmp 0x100266e2
mov dword [ebp - 0x15c], 0
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [ebp - 0x15c]
jl 0x1002671d
mov dx, word [ebp - 0x10]
add dx, 1
mov word [ebp - 0x10], dx
movsx eax, byte [0x1004a092]
movzx ecx, byte [0x1004a056]
add eax, ecx
movsx edx, byte [0x1004a092]
add edx, eax
mov byte [0x1004a092], dl
jmp 0x10026760
movzx eax, byte [0x1004a0bb]
test eax, eax
je 0x10026730
mov cl, byte [ebp - 1]
mov byte [ebp - 3], cl
jmp 0x10026760
mov edx, dword [ebp - 0x2c]
or edx, dword [ebp - 0x28]
je 0x10026760
mov eax, dword [0x1004a148]
sub eax, 0xea9f73f
xor ecx, ecx
mov dword [0x1004a168], eax
mov dword [0x1004a16c], ecx
movsx eax, byte [ebp - 5]
cdq
add eax, dword [ebp - 0x68]
adc edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
push 0
push 0
push 0xd2
push 0x68
push 0
push 0
mov edx, dword [ebp - 0x38]
push edx
call fcn.10024c40
add esp, 0x1c
movzx eax, ax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jae 0x10026793
mov dword [ebp - 0x160], 1
jmp 0x1002679d
mov dword [ebp - 0x160], 0
cmp dword [ebp - 0x30], 0x45
jae 0x100267af
mov dword [ebp - 0x164], 1
jmp 0x100267b9
mov dword [ebp - 0x164], 0
mov ecx, dword [ebp - 0x160]
cmp ecx, dword [ebp - 0x164]
jle 0x100267e3
push 0
lea edx, [ebp - 0x1028]
push edx
push 0x104
push 0x1003b488
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x168]
sub eax, dword [ebp - 0x168]
add eax, 0x1b
mov ecx, 0xfc
sub ecx, eax
mov dword [ebp - 0x390], ecx
movzx edx, byte [ebp - 2]
add edx, dword [0x1004a140]
mov dword [0x1004a140], edx
mov al, byte [ebp - 3]
add al, 1
mov byte [ebp - 3], al
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x71c], eax
sub edx, 0xd5a70bb5
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x27e
mov dword [ebp - 0x720], ecx
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
mov dword [ebp - 0x460], edx
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x460]
or ecx, dword [ebp - 0x45c]
je 0x10026938
mov edx, dword [0x1004a15c]
not edx
mov eax, dword [0x1004a140]
not eax
cmp edx, eax
jne 0x100268ba
mov ecx, dword [ebp - 0x34]
add ecx, 0x1c51ff41
mov byte [ebp - 1], cl
movsx edx, byte [0x1004a092]
test edx, edx
je 0x100268a5
mov al, byte [ebp - 6]
mov byte [ebp - 0x6d], al
jmp 0x100268ae
mov cl, byte [0x1004a0ba]
mov byte [ebp - 0x6d], cl
movzx edx, byte [ebp - 0x6d]
mov dword [0x1004a17c], edx
jmp 0x10026933
cmp dword [0x1004a178], 0
jne 0x100268cf
movsx eax, word [0x1004a100]
mov dword [ebp - 0x38], eax
jmp 0x10026933
movzx ecx, byte [0x1004a0bc]
test ecx, ecx
je 0x1002690d
movzx edx, byte [ebp - 3]
not edx
mov eax, dword [0x1004a110]
xor eax, 0xffff2e32
add edx, eax
not edx
mov dword [0x1004a14c], edx
mov ecx, dword [ebp - 0x30]
sub ecx, 0x9e
mov edx, dword [0x1004a140]
sub edx, ecx
mov dword [0x1004a140], edx
jmp 0x10026933
movsx eax, byte [ebp - 5]
cmp eax, 0x59ec
jg 0x10026933
mov eax, dword [0x1004a140]
xor eax, 0xc804
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
jmp 0x10026a74
mov edx, dword [ebp - 0x24]
not edx
mov eax, dword [ebp - 0x20]
not eax
mov dword [ebp - 0x468], edx
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x468]
or ecx, dword [ebp - 0x464]
je 0x10026985
movsx edx, byte [0x1004a017]
movzx eax, byte [ebp - 3]
xor edx, eax
mov byte [0x1004a017], dl
movsx ecx, word [ebp - 0x10]
add ecx, dword [ebp - 0x5c]
movsx edx, word [ebp - 0x10]
sub edx, ecx
mov word [ebp - 0x10], dx
jmp 0x10026a74
movsx eax, byte [ebp - 5]
cmp eax, 0xfffff5dc
je 0x100269a4
xor ecx, ecx
mov dword [ebp - 0x2b0], 1
mov dword [ebp - 0x2ac], ecx
jmp 0x100269af
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
mov eax, dword [0x1004a140]
cdq
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x470], ecx
mov dword [ebp - 0x46c], esi
mov edx, dword [ebp - 0x2ac]
cmp edx, dword [ebp - 0x46c]
ja 0x10026a18
jb 0x100269e9
mov eax, dword [ebp - 0x2b0]
cmp eax, dword [ebp - 0x470]
ja 0x10026a18
movsx ecx, byte [ebp - 5]
add ecx, dword [ebp - 0x38]
jne 0x100269fe
mov dword [ebp - 0x16c], 1
jmp 0x10026a08
mov dword [ebp - 0x16c], 0
movzx edx, byte [ebp - 6]
xor edx, dword [ebp - 0x16c]
mov word [ebp - 0xc], dx
jmp 0x10026a74
mov eax, dword [0x1004a178]
xor ecx, ecx
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x474], ecx
mov edx, dword [0x1004a11c]
cmp edx, dword [ebp - 0x474]
jb 0x10026a74
ja 0x10026a48
mov eax, dword [0x1004a118]
cmp eax, dword [ebp - 0x478]
jb 0x10026a74
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x480], ecx
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x480]
or eax, dword [ebp - 0x47c]
je 0x10026a74
xor ecx, ecx
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x84]
add edx, 0x21
mov dword [ebp - 0x724], edx
movsx eax, word [ebp - 0x10]
cmp dword [0x1004a110], eax
jl 0x10026aa9
push 0x1003b494
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
xor ecx, ecx
mov dword [0x1004a0e0], eax
mov dword [0x1004a0e4], ecx
jmp 0x10026ad2
movzx edx, byte [0x1004a0bc]
sub edx, 0xc18bd85
mov eax, dword [ebp - 0x60]
add eax, edx
mov dword [ebp - 0x60], eax
mov ecx, dword [0x1004ac78]
xor edx, edx
mov dword [0x1004a160], ecx
mov dword [0x1004a164], edx
mov eax, dword [ebp - 0x84]
add eax, 0x3da
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x30], 0
je 0x10026b05
push 0x104
lea ecx, [ebp - 0x1230]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [0x1004a17c], eax
jmp 0x10026bac
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
xor edx, 0xa2
xor eax, 0
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
movsx ecx, word [ebp - 0xc]
movsx edx, byte [ebp - 5]
add ecx, edx
jne 0x10026b37
mov dword [ebp - 0x170], 1
jmp 0x10026b41
mov dword [ebp - 0x170], 0
mov eax, dword [0x1004a0c8]
not eax
sub eax, dword [ebp - 0x34]
jne 0x10026b59
mov dword [ebp - 0x174], 1
jmp 0x10026b63
mov dword [ebp - 0x174], 0
movsx ecx, byte [0x1004a092]
movzx edx, byte [ebp - 2]
imul ecx, edx
not ecx
imul ecx, dword [ebp - 0x170]
movsx eax, word [0x1004a120]
sub eax, dword [0x1004a178]
add eax, dword [ebp - 0x174]
sub ecx, eax
jne 0x10026b9c
mov ecx, 1
mov word [ebp - 0x72], cx
jmp 0x10026ba2
xor edx, edx
mov word [ebp - 0x72], dx
mov ax, word [ebp - 0x72]
mov word [0x1004a0cc], ax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x88], ecx
mov edx, dword [str.AzureAD_SecureConv]
mov dword [ebp - 0x6a4], edx
mov eax, dword [0x1003b4a4]
mov dword [ebp - 0x6a0], eax
mov ecx, dword [0x1003b4a8]
mov dword [ebp - 0x69c], ecx
mov edx, dword [0x1003b4ac]
mov dword [ebp - 0x698], edx
mov ax, word [0x1003b4b0]
mov word [ebp - 0x694], ax
mov cl, byte [0x1003b4b2]
mov byte [ebp - 0x692], cl
lea edx, [ebp - 0x6a4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x88]
add eax, 0x3c
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x25e
mov dword [ebp - 0x394], ecx
mov byte [ebp - 1], 0xfe
mov edx, dword [ebp - 0x68]
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x64]
adc eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
sub ecx, edx
mov edx, dword [ebp - 0x64]
sbb edx, eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x37c]
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x72c], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x90], 0xb14
movsx eax, word [ebp - 0x10]
cdq
sub eax, 0x74f914e2
sbb edx, 0x29cb2
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x90], 0xa17
jle 0x10026d61
mov byte [ebp - 1], 2
mov edx, dword [ebp - 0x34]
xor eax, eax
mov ecx, dword [0x1004a0dc]
add edx, dword [0x1004a0d8]
adc eax, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x60]
add edx, 0x1b38
mov dword [0x1004a178], edx
mov al, byte [ebp - 1]
mov byte [ebp - 0x8c], al
cmp byte [ebp - 0x8c], 0
je 0x10026cfb
cmp byte [ebp - 0x8c], 1
je 0x10026d13
cmp byte [ebp - 0x8c], 2
je 0x10026d27
jmp 0x10026d4d
movzx eax, byte [ebp - 1]
cdq
add eax, 0x41a3dfe6
adc edx, 0x7da28
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x10026d4d
movsx eax, word [0x1004a120]
cdq
add eax, 0xf25fb7c1
mov dword [0x1004a158], eax
jmp 0x10026d4d
movsx ecx, byte [0x1004a092]
sub ecx, 0x7073
mov byte [ebp - 1], cl
mov eax, dword [0x1004a148]
sub eax, 0xbf
cdq
mov dword [0x1004a180], eax
mov dword [0x1004a184], edx
mov edx, dword [ebp - 0x90]
sub edx, 1
mov dword [ebp - 0x90], edx
jmp 0x10026c99
mov eax, dword [ebp - 0x98]
add eax, 0x36b
mov dword [ebp - 0x730], eax
mov dword [ebp - 0x5c], 2
mov byte [0x1004a03e], 8
mov ecx, dword [0x1004a190]
not ecx
xor edx, edx
mov eax, dword [0x1004a0ec]
push eax
mov eax, dword [0x1004a0e8]
push eax
push edx
push ecx
call fcn.1002e960
mov ecx, eax
not ecx
movzx eax, byte [ebp - 1]
cdq
xor ecx, eax
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 0
je 0x10026dd1
cmp dword [ebp - 0x94], 1
je 0x10026ded
cmp dword [ebp - 0x94], 2
je 0x10026e1c
jmp 0x10026e30
mov eax, dword [0x1004a0e8]
not eax
mov ecx, dword [0x1004a0ec]
not ecx
mov dword [0x1004a130], eax
mov dword [0x1004a134], ecx
jmp 0x10026e30
movzx eax, byte [0x1004a06b]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov byte [0x1004a06b], al
movzx edx, byte [ebp - 4]
sub edx, 0x219
mov word [0x1004a0cc], dx
jmp 0x10026e30
mov eax, 1
imul ecx, eax, 0x2016
mov dl, byte [ebp - 0xc]
mov byte [ecx + 0x101f09f8], dl
mov eax, dword [ebp - 0x98]
add eax, 0x37
mov dword [ebp - 0x360], eax
mov ecx, dword [str.WinHttpReadData]
mov dword [ebp - 0x6c8], ecx
mov edx, dword [0x1003b4b8]
mov dword [ebp - 0x6c4], edx
mov eax, dword [0x1003b4bc]
mov dword [ebp - 0x6c0], eax
mov ecx, dword [0x1003b4c0]
mov dword [ebp - 0x6bc], ecx
lea edx, [ebp - 0x6c8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x98]
add eax, 0x25e
mov dword [ebp - 0x35c], eax
cmp dword [ebp + 0xc], 0
jne 0x10027109
push 0
push 0
call fcn.10024090
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x488], ecx
mov dword [ebp - 0x484], edx
mov eax, dword [ebp - 0x488]
or eax, dword [ebp - 0x484]
jne 0x10026edb
mov dword [ebp - 0x178], 1
jmp 0x10026ee5
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x490], ecx
mov dword [ebp - 0x48c], edx
cmp dword [ebp - 0x490], 0x5f
jne 0x10026f15
cmp dword [ebp - 0x48c], 0
jne 0x10026f15
mov dword [ebp - 0x17c], 1
jmp 0x10026f1f
mov dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x178]
cmp eax, dword [ebp - 0x17c]
je 0x10026f4e
mov cl, byte [ebp - 4]
add cl, 1
mov byte [ebp - 4], cl
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
sub eax, dword [0x1004a190]
sbb ecx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
jmp 0x10026f9a
mov edx, 0xe0fbcdfb
test edx, edx
je 0x10026f9a
mov eax, dword [ebp - 0x24]
sub eax, 0x1ecf
mov ecx, dword [ebp - 0x20]
sbb ecx, 0
mov edx, dword [0x1004a0d0]
sub edx, eax
mov eax, dword [0x1004a0d4]
sbb eax, ecx
mov dword [0x1004a0d0], edx
mov dword [0x1004a0d4], eax
mov ecx, dword [ebp - 0x60]
sub ecx, 0x726487f2
xor edx, edx
mov eax, dword [ebp - 0x40]
sub eax, ecx
mov ecx, dword [ebp - 0x3c]
sbb ecx, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov dword [0x1004a104], 0x7affcdaf
movzx edx, byte [ebp - 3]
add edx, 0x7affcdaf
cmp dword [0x1004a104], edx
jne 0x1002709f
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
movzx eax, byte [ebp - 1]
add eax, 0x1123
cdq
mov dword [ebp - 0x498], ecx
mov dword [ebp - 0x494], esi
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], edx
mov edx, dword [ebp - 0x498]
cmp edx, dword [ebp - 0x4a0]
jne 0x1002709f
mov eax, dword [ebp - 0x494]
cmp eax, dword [ebp - 0x49c]
jne 0x1002709f
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x14]
sub eax, dword [ebp - 0x18]
sbb edx, ecx
mov ecx, dword [0x1004a13c]
push ecx
mov ecx, dword [str.J64_]
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
mov esi, edx
not ecx
not esi
movsx eax, byte [0x1004a093]
cdq
add eax, dword [0x1004a108]
adc edx, dword [0x1004a10c]
mov edi, dword [0x1004a188]
mov ebx, dword [0x1004a18c]
mov dword [ebp - 0x364], esi
mov esi, dword [0x1004a0dc]
sub edi, dword [0x1004a0d8]
sbb ebx, esi
and eax, edi
and edx, ebx
sub ecx, eax
mov esi, dword [ebp - 0x364]
sbb esi, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
jmp 0x1002709f
mov dword [0x1004a104], 0x7affcdaf
movzx edx, word [ebp - 0x1c]
test edx, edx
jne 0x100270bd
mov dword [ebp - 0x180], 1
jmp 0x100270c7
mov dword [ebp - 0x180], 0
movzx eax, byte [ebp - 1]
not eax
mov ecx, dword [0x1004a15c]
sub ecx, eax
movsx edx, byte [ebp - 5]
xor edx, dword [ebp - 0x180]
sub ecx, edx
mov eax, ecx
cdq
xor ecx, ecx
mov esi, dword [ebp - 0x24]
sub esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x20]
sbb edi, ecx
push edi
push esi
push edx
push eax
call fcn.1002e960
mov dword [0x1004a140], eax
mov eax, 1
jmp 0x10029bb7
mov edx, dword [ebp - 0x184]
xor edx, dword [ebp - 0x184]
cmp edx, 0x37c
je 0x100272a3
movzx eax, byte [ebp - 4]
cdq
add eax, dword [ebp - 0x24]
adc edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x20]
sbb eax, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov dword [0x1004a0d8], 0x5b34364a
mov dword [0x1004a0dc], ecx
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov ecx, dword [ebp - 0x24]
add ecx, 0x5b34364a
mov esi, dword [ebp - 0x20]
adc esi, 0
mov dword [ebp - 0x4a8], edx
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4b0], ecx
mov dword [ebp - 0x4ac], esi
mov edx, dword [ebp - 0x4a8]
cmp edx, dword [ebp - 0x4b0]
jne 0x10027212
mov eax, dword [ebp - 0x4a4]
cmp eax, dword [ebp - 0x4ac]
jne 0x10027212
mov ecx, dword [0x1004a0d8]
mov edx, dword [0x1004a0dc]
movzx eax, byte [ebp - 3]
sub eax, 0x60667cb4
xor esi, esi
mov dword [ebp - 0x4b8], ecx
mov dword [ebp - 0x4b4], edx
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], esi
mov ecx, dword [ebp - 0x4b8]
cmp ecx, dword [ebp - 0x4c0]
jne 0x10027212
mov edx, dword [ebp - 0x4b4]
cmp edx, dword [ebp - 0x4bc]
jne 0x10027212
mov eax, dword [str.J64_]
mov ecx, dword [0x1004a13c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
jmp 0x10027212
xor eax, eax
mov dword [0x1004a0d8], 0x5b34364a
mov dword [0x1004a0dc], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x734], eax
add edx, ecx
not edx
mov byte [0x1004a0bb], dl
cmp dword [ebp + 8], 0
jne 0x100272a3
movsx ecx, word [ebp - 0xc]
sub ecx, 0xc1
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x9c], 0x20c
jmp 0x1002726a
mov edx, dword [ebp - 0x9c]
sub edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0
jle 0x1002729c
mov eax, dword [ebp - 0x2c]
sub eax, 0x59618bb4
mov word [0x1004a150], ax
movzx ecx, word [0x1004a0f0]
xor ecx, 0x64ed
mov byte [ebp - 1], cl
mov dl, byte [ebp - 5]
add dl, 1
mov byte [ebp - 5], dl
jmp 0x1002725b
xor eax, eax
jmp 0x10029bb7
mov byte [str.address_family_not], 0xdb
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
movsx eax, byte [str.address_family_not]
cdq
add eax, dword [ebp - 0x24]
adc edx, dword [ebp - 0x20]
mov dword [ebp - 0x4c8], ecx
mov dword [ebp - 0x4c4], esi
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x4cc], edx
mov edx, dword [ebp - 0x4c8]
cmp edx, dword [ebp - 0x4d0]
jne 0x1002746d
mov eax, dword [ebp - 0x4c4]
cmp eax, dword [ebp - 0x4cc]
jne 0x1002746d
mov ecx, 9
mov esi, str.The_object_could_n
lea edi, [ebp - 0x808]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x808]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
movsx eax, byte [0x1004a03f]
cdq
mov ecx, dword [ebp - 0x24]
add ecx, 0xfe0d557d
mov esi, dword [ebp - 0x20]
adc esi, 0x13221
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4d4], edx
mov dword [ebp - 0x4e0], ecx
mov dword [ebp - 0x4dc], esi
mov edx, dword [ebp - 0x4d8]
cmp edx, dword [ebp - 0x4e0]
jne 0x1002746d
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0x4dc]
jne 0x1002746d
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], ecx
mov eax, dword [0x1004a110]
imul eax, dword [0x1004a110]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 1]
cdq
mov edi, dword [0x1004a0c0]
mov ebx, dword [0x1004a0c4]
sub edi, eax
sbb ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], esi
mov byte [ebp - 2], 8
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x238]
or ecx, dword [ebp - 0x234]
je 0x100273f2
cmp dword [ebp - 0x238], 1
jne 0x100273f0
cmp dword [ebp - 0x234], 0
je 0x10027418
jmp 0x1002742c
movsx eax, byte [0x1004a017]
cdq
xor eax, dword [ebp - 0x24]
mov byte [0x1004a017], al
mov ecx, dword [ebp - 0x24]
sub ecx, 0xecf39f8b
movzx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x1002742c
movzx edx, word [0x1004a150]
movzx eax, byte [0x1004a06b]
imul edx, eax
mov dword [ebp - 0x34], edx
jmp 0x100272a3
call fcn.1001a9d0
movzx edx, al
test edx, edx
jne 0x10027836
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add eax, dword [ebp - 0x24]
adc ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
movzx eax, word [0x1004a150]
cdq
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 8
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xa0], ecx
push 0x1003b4ec
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov byte [ebp - 1], al
mov edx, dword [ebp - 0x380]
add edx, dword [ebp - 0xa0]
mov dword [ebp - 0x738], edx
mov eax, dword [0x1004a160]
mov ecx, dword [0x1004a164]
mov dword [ebp - 0x73c], ecx
movzx edx, al
push edx
movzx eax, byte [ebp - 3]
push eax
push 0
push 0
call fcn.10024ee0
add esp, 0x10
movzx eax, al
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x20]
je 0x1002751b
jmp 0x1002758d
cmp dword [ebp - 0x30], 0
je 0x1002758d
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x50]
xor esi, dword [ebp - 0x4c]
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], edx
mov edx, dword [ebp - 0x4e8]
or edx, dword [ebp - 0x4e4]
jne 0x1002755c
mov dword [ebp - 0x188], 1
jmp 0x10027566
mov dword [ebp - 0x188], 0
movzx eax, byte [ebp - 6]
sub eax, dword [ebp - 0x188]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x24]
push eax
push edx
push ecx
call fcn.1002e960
mov dword [0x1004a15c], eax
mov ecx, dword [ebp - 0xa0]
add ecx, 0x21e
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x384]
add edx, dword [ebp - 0xa0]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x18c]
or eax, 0x139
mov ecx, dword [ebp - 0x18c]
imul ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x190]
imul edx, ecx
cmp eax, edx
je 0x10027836
movsx eax, byte [0x1004a092]
test eax, eax
je 0x100275fc
movsx ecx, byte [ebp - 5]
mov edx, dword [0x1004a104]
add edx, ecx
mov dword [0x1004a104], edx
jmp 0x100277f8
cmp dword [ebp - 0x38], 0
jne 0x10027616
xor eax, eax
mov dword [ebp - 0x2b8], 1
mov dword [ebp - 0x2b4], eax
jmp 0x10027621
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b8], xmm0
mov ecx, dword [ebp - 0x2b4]
cmp ecx, dword [0x1004a0ec]
ja 0x10027653
jb 0x1002763f
mov edx, dword [ebp - 0x2b8]
cmp edx, dword [0x1004a0e8]
ja 0x10027653
xor eax, eax
mov dword [ebp - 0x2c0], 1
mov dword [ebp - 0x2bc], eax
jmp 0x1002765e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c0], xmm0
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x2bc]
jl 0x10027694
jg 0x10027676
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x2c0]
jbe 0x10027694
mov eax, dword [0x1004a0e8]
add eax, 0xf0b8
mov ecx, dword [0x1004a0ec]
adc ecx, 0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
jmp 0x100277f8
movzx edx, byte [ebp - 1]
test edx, edx
jne 0x100276b0
xor eax, eax
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0x2c4], eax
jmp 0x100276bb
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c8], xmm0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x4f0], ecx
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x4f0]
cmp eax, dword [ebp - 0x2c8]
jne 0x100276e9
mov ecx, dword [ebp - 0x4ec]
cmp ecx, dword [ebp - 0x2c4]
je 0x100276f5
mov dword [ebp - 0x194], 1
jmp 0x100276ff
mov dword [ebp - 0x194], 0
movzx edx, word [0x1004a0f0]
not edx
cmp edx, dword [0x1004a110]
jne 0x1002771c
mov dword [ebp - 0x198], 1
jmp 0x10027726
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x198]
jl 0x100277f8
movzx ecx, byte [0x1004a0bb]
xor ecx, dword [ebp - 0x30]
movzx edx, byte [0x1004a0bb]
add edx, ecx
mov byte [0x1004a0bb], dl
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f4], ecx
mov edx, dword [ebp - 0x4f8]
or edx, dword [ebp - 0x4f4]
jne 0x10027785
xor eax, eax
mov dword [ebp - 0x2d0], 1
mov dword [ebp - 0x2cc], eax
jmp 0x10027790
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d0], xmm0
mov esi, dword [0x1004a0d8]
mov edi, dword [0x1004a0dc]
sub esi, dword [ebp - 0x2d0]
sbb edi, dword [ebp - 0x2cc]
movsx ecx, word [ebp - 0xc]
mov edx, dword [ebp - 0x30]
not edx
sub ecx, edx
xor eax, eax
add esi, ecx
adc edi, eax
mov ecx, dword [ebp - 0x40]
not ecx
mov edx, dword [ebp - 0x3c]
not edx
push 0
push 0x77508d4f
push edx
push ecx
call fcn.1002e960
mov ecx, eax
mov ebx, edx
movsx eax, word [ebp - 0xc]
movzx edx, byte [0x1004a056]
not edx
sub eax, edx
cdq
push edx
push eax
push ebx
push ecx
call fcn.1002e960
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], edi
mov eax, dword [0x1004a148]
cdq
mov ecx, dword [0x1004a10c]
push ecx
mov ecx, dword [0x1004a108]
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
mov eax, dword [0x1004a148]
cdq
or eax, ecx
mov dword [0x1004a148], eax
movsx edx, word [ebp - 0xc]
mov dword [0x1004a110], edx
mov eax, 1
jmp 0x10029bb7
call fcn.10009250
movzx eax, al
test eax, eax
jne 0x10027dd2
cmp dword [ebp - 0x30], 0
jne 0x10027858
mov dword [ebp - 0x19c], 1
jmp 0x10027862
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x19c]
add ecx, 0xd845a4a
movsx edx, byte [0x1004a093]
mov eax, dword [0x1004a190]
imul eax, edx
imul ecx, eax
mov esi, ecx
xor edi, edi
movsx eax, byte [0x1004a03f]
add eax, 0xdff6
cdq
mov ebx, eax
mov eax, edx
push 0x325f9
push 0x885866d9
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
mov dword [ebp - 0x388], eax
call fcn.1002e960
sub ebx, eax
mov eax, dword [ebp - 0x388]
sbb eax, edx
add esi, ebx
adc edi, eax
mov dword [ebp - 0x500], esi
mov dword [ebp - 0x4fc], edi
mov eax, dword [ebp - 0x500]
or eax, dword [ebp - 0x4fc]
jne 0x100278e5
mov ecx, 1
mov word [ebp - 0x70], cx
jmp 0x100278eb
xor edx, edx
mov word [ebp - 0x70], dx
mov ax, word [ebp - 0x70]
mov word [0x1004a120], ax
mov ecx, dword [ebp - 0x60]
xor edx, edx
mov dword [ebp - 0x508], ecx
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x508]
cmp eax, dword [0x1004a118]
jne 0x10027979
mov ecx, dword [ebp - 0x504]
cmp ecx, dword [0x1004a11c]
jne 0x10027979
mov dword [0x1004a154], 0
movsx eax, word [ebp - 0xc]
cdq
mov dword [0x1004a130], eax
mov dword [0x1004a134], edx
mov edx, dword [0x1004a154]
mov dword [ebp - 0x38c], edx
cmp dword [ebp - 0x38c], 0
je 0x10027953
jmp 0x10027974
mov eax, dword [0x1004a128]
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x740], edx
add eax, ecx
mov dword [0x1004a128], eax
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x60], eax
jmp 0x10027a19
cmp dword [0x1004a128], 0
je 0x100279ee
push 0
push 0xb328
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.1002e960
mov dword [0x1004a0d8], eax
mov dword [0x1004a0dc], edx
mov eax, dword [0x1004a188]
mov ecx, dword [0x1004a18c]
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], ecx
mov edx, dword [ebp - 0x510]
or edx, dword [ebp - 0x50c]
je 0x100279d5
movsx eax, byte [str.address_family_not]
mov dword [ebp - 0x1a0], eax
jmp 0x100279de
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x1a0]
xor eax, eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
jmp 0x10027a19
movzx ecx, byte [ebp - 3]
test ecx, ecx
je 0x10027a19
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
mov eax, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov cl, 8
call fcn.1002e9f0
mov dword [0x1004a148], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xa4], ecx
movsx edx, byte [0x1004a017]
imul eax, edx, 0xf924abbd
mov dword [ebp - 0x38], eax
movzx ecx, word [0x1004a0f0]
add ecx, 0xf8
movsx edx, byte [0x1004a03e]
sub edx, ecx
mov byte [0x1004a03e], dl
mov eax, dword [ebp - 0xa4]
add eax, 0x187
mov dword [ebp - 0x1a8], eax
movsx eax, word [0x1004a100]
cdq
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], edx
mov dword [ebp - 0x520], ecx
mov dword [ebp - 0x51c], esi
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0x520]
jne 0x10027aa4
mov eax, dword [ebp - 0x514]
cmp eax, dword [ebp - 0x51c]
je 0x10027b15
movsx ecx, byte [ebp - 5]
movzx edx, byte [0x1004a056]
cmp ecx, edx
jge 0x10027ac6
imul eax, dword [0x1004a128], 0xe5d7
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
jmp 0x10027b10
mov eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x20]
je 0x10027b10
movzx eax, byte [ebp - 2]
movzx ecx, word [ebp - 0x1c]
not ecx
add eax, ecx
cdq
mov ecx, eax
movzx eax, byte [0x1004a06b]
cdq
mov edx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
mov dword [ebp - 0x744], esi
sub edx, eax
sub ecx, edx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov ecx, dword [ebp - 0x28]
sbb ecx, 0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
jmp 0x10027bae
mov edx, dword [0x1004a0e8]
or edx, dword [0x1004a0ec]
je 0x10027bae
movsx eax, byte [0x1004a03e]
cmp eax, dword [ebp - 0x30]
jne 0x10027bae
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0x528], ecx
mov dword [ebp - 0x524], edx
mov eax, dword [ebp - 0x528]
or eax, dword [ebp - 0x524]
je 0x10027b73
mov ecx, dword [0x1004a170]
mov edx, dword [0x1004a174]
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], edx
jmp 0x10027b87
movzx eax, byte [0x1004a0bb]
cdq
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
mov dword [0x1004a168], eax
mov dword [0x1004a16c], ecx
movsx eax, word [0x1004a120]
cdq
add eax, 0xc6ebae
mov byte [ebp - 2], al
mov edx, dword [ebp - 0x390]
add edx, dword [ebp - 0xa4]
mov dword [ebp - 0x748], edx
mov eax, dword [ebp - 0xa4]
add eax, 0x386
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
sub ecx, dword [ebp - 0x1a8]
mov edx, 0x13f
sub edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
lea edx, [edx + eax + 0x300]
cmp ecx, edx
je 0x10027dd2
mov eax, dword [0x1004a108]
cmp eax, dword [ebp - 0x40]
jne 0x10027c12
mov ecx, dword [0x1004a10c]
cmp ecx, dword [ebp - 0x3c]
je 0x10027c1e
mov dword [ebp - 0x1ac], 1
jmp 0x10027c28
mov dword [ebp - 0x1ac], 0
cmp dword [0x1004a108], 0x1d
jne 0x10027c3a
cmp dword [0x1004a10c], 0
je 0x10027c46
mov dword [ebp - 0x1b0], 1
jmp 0x10027c50
mov dword [ebp - 0x1b0], 0
mov edx, dword [ebp - 0x1ac]
cmp edx, dword [ebp - 0x1b0]
jge 0x10027cef
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
jne 0x10027c7e
xor ecx, ecx
mov dword [ebp - 0x538], 1
mov dword [ebp - 0x534], ecx
jmp 0x10027c89
xorps xmm0, xmm0
movlpd qword [ebp - 0x538], xmm0
mov edx, dword [0x1004a0e8]
or edx, dword [0x1004a0ec]
jne 0x10027cab
xor eax, eax
mov dword [ebp - 0x530], 1
mov dword [ebp - 0x52c], eax
jmp 0x10027cb6
xorps xmm0, xmm0
movlpd qword [ebp - 0x530], xmm0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x74c], edx
xor ecx, dword [0x1004a170]
sub ecx, dword [ebp - 0x530]
not ecx
xor ecx, dword [ebp - 0x538]
mov byte [str.address_family_not], cl
xor eax, eax
mov dword [0x1004a108], 0x4c8c
mov dword [0x1004a10c], eax
jmp 0x10027d5f
cmp dword [ebp - 0x38], 0
je 0x10027d09
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov edx, dword [ebp - 0x3c]
adc edx, 0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
jmp 0x10027d5f
movzx eax, byte [0x1004a0bb]
test eax, eax
je 0x10027d5f
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1004a0e8]
sub ecx, eax
mov eax, dword [0x1004a0ec]
sbb eax, edx
mov edx, dword [0x1004a0e8]
sub edx, ecx
mov ecx, dword [0x1004a0ec]
sbb ecx, eax
mov dword [0x1004a0e8], edx
mov dword [0x1004a0ec], ecx
movsx eax, byte [0x1004a03e]
cdq
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x750], ecx
xor eax, edx
mov byte [0x1004a03e], al
movzx edx, byte [ebp - 2]
movsx eax, byte [str.address_family_not]
imul edx, eax
test edx, edx
je 0x10027d95
movzx eax, byte [ebp - 4]
sub eax, 0x57
cdq
add eax, dword [ebp - 0x2c]
adc edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
movzx ecx, byte [ebp - 2]
imul edx, ecx, 0x7d
mov word [0x1004a120], dx
jmp 0x10027dc8
mov eax, dword [ebp - 0x2c]
or eax, dword [ebp - 0x28]
je 0x10027dc8
mov eax, dword [0x1004a0e0]
mov edx, dword [0x1004a0e4]
mov cl, 6
call fcn.1002e9f0
mov dword [0x1004a128], eax
mov ecx, dword [0x1004ac78]
xor edx, edx
mov dword [0x1004a0e0], ecx
mov dword [0x1004a0e4], edx
mov eax, 1
jmp 0x10029bb7
imul eax, dword [ebp - 0x394], 0x231
cmp eax, 0x31d
je 0x100297c5
mov ecx, dword [0x1004a158]
xor edx, edx
mov dword [ebp - 0x540], ecx
mov dword [ebp - 0x53c], edx
mov eax, dword [ebp - 0x53c]
cmp eax, dword [ebp - 0x28]
jg 0x10027e41
jl 0x10027e13
mov ecx, dword [ebp - 0x540]
cmp ecx, dword [ebp - 0x2c]
jae 0x10027e41
mov edx, dword [ebp - 0x38]
xor eax, eax
add edx, dword [ebp - 0x24]
adc eax, dword [ebp - 0x20]
add edx, dword [ebp - 0x24]
adc eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x68]
sub ecx, eax
mov eax, dword [ebp - 0x64]
sbb eax, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], eax
jmp 0x10027e53
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x548], ecx
mov dword [ebp - 0x544], edx
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0x754], edx
add ecx, 0xf6d0
mov byte [ebp - 6], cl
mov eax, dword [0x1004ac78]
mov dword [ebp - 0xdc], eax
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], edx
mov dword [ebp - 0x558], ecx
mov dword [ebp - 0x554], esi
mov edx, dword [ebp - 0x550]
cmp edx, dword [ebp - 0x558]
jne 0x10027eb8
mov eax, dword [ebp - 0x54c]
cmp eax, dword [ebp - 0x554]
je 0x10027f1b
mov dword [ebp - 0xa8], 0x317
jmp 0x10027ed3
mov ecx, dword [ebp - 0xa8]
sub ecx, 1
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa8], 0
jle 0x10027f1b
mov edx, dword [ebp - 0x38]
add edx, 0x10
mov word [ebp - 0x10], dx
cmp dword [0x1004a144], 0
je 0x10027efb
movzx eax, byte [ebp - 1]
mov dword [ebp - 0x1b4], eax
jmp 0x10027f08
movzx ecx, word [0x1004a124]
mov dword [ebp - 0x1b4], ecx
mov dl, byte [ebp - 0x1b4]
mov byte [ebp - 6], dl
mov al, byte [ebp - 2]
add al, 1
mov byte [ebp - 2], al
jmp 0x10027ec4
mov ecx, dword [ebp - 0xdc]
add ecx, 0x9738
mov dword [ebp - 0x758], ecx
mov edx, dword [0x1004a110]
cmp edx, dword [0x1004a178]
jae 0x10027f47
mov dword [ebp - 0x1b8], 1
jmp 0x10027f51
mov dword [ebp - 0x1b8], 0
cmp dword [0x1004a110], 1
jge 0x10027f66
mov dword [ebp - 0x1bc], 1
jmp 0x10027f70
mov dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [ebp - 0x1bc]
je 0x10028026
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x34]
je 0x10027fbb
cmp dword [0x1004a104], 0
jne 0x10027f99
mov byte [ebp - 0x6a], 1
jmp 0x10027f9d
mov byte [ebp - 0x6a], 0
mov dl, byte [ebp - 0x6a]
mov byte [0x1004a06b], dl
movzx eax, word [0x1004a0f0]
add eax, dword [0x1004a104]
mov word [0x1004a0f0], ax
jmp 0x10028024
cmp dword [0x1004a140], 0
je 0x10027ff4
mov ecx, 2
imul edx, ecx, 0x2124
mov al, byte [edx + 0x101b53f0]
mov byte [ebp - 4], al
mov eax, dword [0x1004a110]
cdq
push 0x61769
push 0x76b77250
push edx
push eax
call fcn.1002e960
mov byte [ebp - 1], al
jmp 0x10028024
movzx ecx, word [ebp - 0x1c]
cmp dword [0x1004a148], ecx
jne 0x10028002
jmp 0x10028024
movsx edx, byte [str.address_family_not]
cmp edx, 0x50
jl 0x10028024
mov ecx, dword [ebp - 0x68]
sub ecx, 0x8637
mov eax, dword [0x1004a140]
cdq
add eax, ecx
mov dword [0x1004a140], eax
jmp 0x1002807f
mov esi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x75c], edx
not esi
movsx eax, word [ebp - 0xc]
cdq
add esi, eax
not esi
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x760], edx
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
sub eax, 0x6148a9b5
sbb ecx, 0x6fbc7
xor edx, edx
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x44]
sub edi, dword [ebp - 0x60]
sbb ebx, edx
push ebx
push edi
push ecx
push eax
call fcn.1002e960
sub esi, eax
mov word [ebp - 0xc], si
mov eax, dword [ebp - 0xdc]
add eax, 0x15
mov dword [ebp - 0x398], eax
movzx ecx, byte [ebp - 4]
movzx edx, byte [ebp - 4]
cmp ecx, edx
jge 0x100280d7
cmp dword [ebp - 0x38], 0
je 0x100280ce
movzx eax, word [0x1004a0cc]
add eax, 0x296616b2
cdq
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x764], ecx
sub eax, 0x817d3933
mov byte [ebp - 2], al
jmp 0x100280d5
mov byte [0x1004a06b], 0x17
jmp 0x100280fe
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x20]
je 0x100280fe
xor eax, eax
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
add ecx, dword [ebp - 0x60]
adc edx, eax
mov dword [0x1004a0f8], ecx
mov dword [0x1004a0fc], edx
mov eax, dword [ebp - 0xdc]
add eax, 0x39
mov dword [ebp - 0x768], eax
movzx ecx, word [0x1004a0f0]
push ecx
push 0xc3
push 0
push 0x69
push 0x72
movzx edx, word [ebp - 0x5c]
push edx
push 0xe8
call fcn.10024c40
add esp, 0x1c
movzx eax, ax
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
jne 0x10028158
xor ecx, ecx
mov dword [ebp - 0x2d8], 1
mov dword [ebp - 0x2d4], ecx
jmp 0x10028163
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d8], xmm0
mov edx, dword [0x1004a0e0]
mov eax, dword [0x1004a0e4]
mov dword [ebp - 0x560], edx
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x560]
cmp ecx, dword [ebp - 0x2d8]
jne 0x10028196
mov edx, dword [ebp - 0x55c]
cmp edx, dword [ebp - 0x2d4]
je 0x100281aa
push 0
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov dword [0x1004a110], eax
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x100281be
mov dword [ebp - 0x1c0], 1
jmp 0x100281c8
mov dword [ebp - 0x1c0], 0
mov ecx, dword [ebp - 0x30]
not ecx
cmp ecx, dword [ebp - 0x1c0]
ja 0x10028259
mov dword [ebp - 0xb0], 0
jmp 0x100281f4
mov edx, dword [ebp - 0xb0]
add edx, 2
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 0x30
jge 0x10028257
movzx eax, byte [ebp - 2]
test eax, eax
je 0x10028218
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edx
jmp 0x1002822a
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1004a118]
and ecx, 0x11
movzx eax, byte [ebp - 2]
cdq
xor eax, ecx
mov byte [ebp - 2], al
mov dl, byte [0x1004a056]
add dl, 1
mov byte [0x1004a056], dl
jmp 0x100281e5
jmp 0x10028284
movzx eax, byte [0x1004a0ba]
test eax, eax
je 0x10028284
push 0
push 0xc047
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
call fcn.1002e960
mov ecx, eax
movzx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
imul edx, dword [ebp - 0x398], 0x3d44
sub edx, 0x50493
mov dword [ebp - 0x328], edx
movzx eax, byte [ebp - 3]
cmp dword [ebp - 0x38], eax
jae 0x100282c3
mov ecx, dword [ebp - 0x30]
mov edx, 2
imul eax, edx, 0x2c6c
mov word [eax + 0x101fc880], cx
imul ecx, dword [ebp - 0x38], 0x5d232850
mov word [ebp - 0x1c], cx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xb4], edx
movzx eax, word [0x1004a124]
cdq
and eax, dword [str.J64_]
and edx, dword [0x1004a13c]
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
mov eax, dword [ebp - 0xb4]
add eax, 0x850e
mov dword [ebp - 0x324], eax
movzx ecx, word [ebp - 0x1c]
xor ecx, 0xcfbae679
and ecx, dword [0x1004a110]
mov dword [0x1004a110], ecx
mov edx, dword [ebp - 0xb4]
add edx, 0x71
mov dword [ebp - 0x76c], edx
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], edx
mov dword [ebp - 0x570], ecx
mov dword [ebp - 0x56c], esi
mov edx, dword [ebp - 0x564]
cmp edx, dword [ebp - 0x56c]
jg 0x10028381
jl 0x10028365
mov eax, dword [ebp - 0x568]
cmp eax, dword [ebp - 0x570]
ja 0x10028381
push 0
push 0x1003b500
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
jmp 0x10028478
mov edx, dword [0x1004a108]
or edx, dword [0x1004a10c]
jne 0x100283a3
xor eax, eax
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x2e4], eax
jmp 0x100283ae
xorps xmm0, xmm0
movlpd qword [ebp - 0x2e8], xmm0
mov ecx, dword [0x1004a0d0]
or ecx, dword [0x1004a0d4]
jne 0x100283d0
xor edx, edx
mov dword [ebp - 0x2f0], 1
mov dword [ebp - 0x2ec], edx
jmp 0x100283db
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f0], xmm0
movzx eax, word [0x1004a150]
mov ecx, dword [0x1004a104]
not ecx
and eax, ecx
mov esi, eax
xor edi, edi
mov edx, dword [0x1004a170]
sub edx, dword [ebp - 0x2e8]
mov eax, dword [0x1004a174]
sbb eax, dword [ebp - 0x2e4]
xor esi, edx
xor edi, eax
movsx eax, word [ebp - 0x10]
movzx ecx, byte [0x1004a0bc]
imul eax, ecx
cdq
mov ebx, eax
mov eax, edx
mov edx, dword [0x1004a170]
not edx
mov ecx, dword [0x1004a174]
not ecx
push ecx
push edx
mov edx, dword [ebp - 0x2ec]
push edx
mov ecx, dword [ebp - 0x2f0]
push ecx
mov dword [ebp - 0x39c], eax
call fcn.1002e960
add ebx, eax
mov eax, dword [ebp - 0x39c]
adc eax, edx
push eax
push ebx
push edi
push esi
call fcn.1002e960
mov word [ebp - 0x10], ax
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
xor edx, dword [0x1004a180]
xor eax, dword [0x1004a184]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0xce64
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a0]
sub edx, dword [ebp - 0x324]
imul eax, edx, 0xc5fb8540
cdq
mov ecx, 0x3b7e038f
sub ecx, eax
mov dword [ebp - 0x334], ecx
call fcn.10017cf0
test eax, eax
jne 0x100284c0
call fcn.10010760
test eax, eax
je 0x100297c5
movsx edx, byte [ebp - 5]
test edx, edx
jne 0x100284dc
xor eax, eax
mov dword [ebp - 0x2f8], 1
mov dword [ebp - 0x2f4], eax
jmp 0x100284e7
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f8], xmm0
mov ecx, dword [ebp - 0x2f4]
cmp ecx, dword [ebp - 0x20]
jb 0x1002850b
ja 0x100284ff
mov edx, dword [ebp - 0x2f8]
cmp edx, dword [ebp - 0x24]
jb 0x1002850b
mov dword [ebp - 0x1c4], 1
jmp 0x10028515
mov dword [ebp - 0x1c4], 0
movsx eax, word [0x1004a100]
cmp eax, dword [ebp - 0x1c4]
jle 0x100285f2
mov ecx, dword [0x1004a178]
not ecx
cmp ecx, 0x8c
je 0x1002856f
mov edx, dword [ebp - 0x34]
xor eax, eax
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push eax
push edx
push esi
push ecx
call fcn.1002e960
mov esi, eax
mov edx, dword [0x1004a154]
xor eax, eax
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x54]
push edi
push ecx
push eax
push edx
call fcn.1002e960
sub esi, eax
mov dword [ebp - 0x5c], esi
jmp 0x100285f0
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x578], edx
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x578]
or ecx, dword [ebp - 0x574]
je 0x100285ad
movsx edx, byte [0x1004a017]
movsx eax, word [ebp - 0xc]
add edx, eax
movsx ecx, byte [0x1004a017]
add ecx, edx
mov byte [0x1004a017], cl
jmp 0x100285f0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
not edx
not eax
mov dword [ebp - 0x580], edx
mov dword [ebp - 0x57c], eax
mov ecx, dword [ebp - 0x580]
or ecx, dword [ebp - 0x57c]
jne 0x100285e6
mov edx, 0x7b
test edx, edx
jne 0x100285e6
mov dword [ebp - 0x1c8], 0
jmp 0x100285f0
mov dword [ebp - 0x1c8], 1
jmp 0x10028604
xor ecx, ecx
mov dword [0x1004a170], 1
mov dword [0x1004a174], ecx
mov eax, dword [0x1004a148]
cdq
mov ecx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], edx
mov dword [ebp - 0x590], ecx
mov dword [ebp - 0x58c], esi
mov edx, dword [ebp - 0x584]
cmp edx, dword [ebp - 0x58c]
ja 0x1002872d
jb 0x10028654
mov eax, dword [ebp - 0x588]
cmp eax, dword [ebp - 0x590]
jae 0x1002872d
movzx ecx, byte [0x1004a06b]
test ecx, ecx
je 0x1002870a
movzx edx, byte [ebp - 6]
sub edx, dword [0x1004a15c]
jne 0x1002867b
mov dword [ebp - 0x1cc], 1
jmp 0x10028685
mov dword [ebp - 0x1cc], 0
movzx eax, word [0x1004a124]
not eax
mov ecx, dword [0x1004a104]
sub ecx, eax
jne 0x100286a4
mov dword [ebp - 0x1d0], 1
jmp 0x100286ae
mov dword [ebp - 0x1d0], 0
mov edx, dword [ebp - 0x1cc]
sub edx, dword [ebp - 0x1d0]
jne 0x100286c8
mov dword [ebp - 0x1d4], 1
jmp 0x100286d2
mov dword [ebp - 0x1d4], 0
movzx eax, byte [0x1004a0bb]
movzx ecx, byte [0x1004a0bc]
xor eax, ecx
movzx edx, byte [0x1004a06b]
not edx
imul eax, edx
add eax, dword [ebp - 0x1d4]
jne 0x100286fc
mov byte [ebp - 0x6b], 1
jmp 0x10028700
mov byte [ebp - 0x6b], 0
mov al, byte [ebp - 0x6b]
mov byte [0x1004a0bc], al
jmp 0x1002872b
cmp dword [ebp - 0x30], 0
je 0x1002872b
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x770], edx
sub ecx, 0x93cbd353
mov dword [ebp - 0x30], ecx
jmp 0x10028745
cmp dword [0x1004a144], 0
je 0x10028745
mov eax, dword [0x1004a148]
sub eax, 0xfca5
mov dword [0x1004a140], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xb8], ecx
mov edx, 3
mov word [ebp - 0x10], dx
mov al, byte [ebp - 6]
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x30]
xor ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x774], edx
not esi
movsx eax, word [ebp - 0xc]
cdq
sub esi, eax
sub ecx, esi
not ecx
mov dword [0x1004a154], ecx
movsx eax, word [ebp - 0x10]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 3
ja case.default.0x100287a2
mov ecx, dword [ebp - 0x1d8]
jmp dword [ecx*4 + 0x10029bc0]
movsx edx, byte [0x1004a03f]
add edx, 0x5bec
mov word [ebp - 0xc], dx
jmp case.default.0x100287a2
push 0x97ced
push 0x38b29067
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.1002e960
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp case.default.0x100287a2
mov edx, dword [0x1004a160]
mov eax, dword [0x1004a164]
mov dword [ebp - 0x598], edx
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x598]
or ecx, dword [ebp - 0x594]
je 0x1002880e
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1dc], edx
jmp 0x1002881b
movzx eax, byte [0x1004a0bb]
mov dword [ebp - 0x1dc], eax
mov cl, byte [ebp - 0x1dc]
mov byte [ebp - 1], cl
movzx eax, byte [ebp - 6]
cdq
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
sub ecx, eax
sbb esi, edx
mov dword [0x1004a168], ecx
mov dword [0x1004a16c], esi
jmp case.default.0x100287a2
mov byte [ebp - 5], 0x14
mov edx, dword [ebp - 0xb8]
add edx, 0x21c
mov dword [ebp - 0x330], edx
mov eax, dword [0x1004a110]
cmp eax, dword [0x1004a140]
jne 0x10028876
mov dword [ebp - 0x1e0], 1
jmp 0x10028880
mov dword [ebp - 0x1e0], 0
cmp dword [0x1004a110], 0x38
jne 0x10028895
mov dword [ebp - 0x1e4], 1
jmp 0x1002889f
mov dword [ebp - 0x1e4], 0
mov ecx, dword [ebp - 0x1e0]
cmp ecx, dword [ebp - 0x1e4]
jg 0x100289bb
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], edx
mov dword [ebp - 0x5a8], ecx
mov dword [ebp - 0x5a4], esi
mov edx, dword [ebp - 0x5a0]
cmp edx, dword [ebp - 0x5a8]
jne 0x100288fa
mov eax, dword [ebp - 0x59c]
cmp eax, dword [ebp - 0x5a4]
je 0x100289b9
cmp dword [0x1004a154], 0
je 0x10028912
movzx ecx, byte [0x1004a06b]
mov dword [ebp - 0x1e8], ecx
jmp 0x1002891b
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1e8]
mov dword [0x1004a0c8], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x5b0], ecx
mov dword [ebp - 0x5ac], edx
mov eax, dword [ebp - 0x5b0]
or eax, dword [ebp - 0x5ac]
jne 0x10028952
mov dword [ebp - 0x1ec], 1
jmp 0x1002895c
mov dword [ebp - 0x1ec], 0
push 0
push 0x32e3
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call fcn.1002e960
mov ecx, eax
mov esi, edx
movsx edx, word [ebp - 0xc]
add edx, dword [0x1004a158]
xor eax, eax
add ecx, edx
adc esi, eax
mov edx, dword [ebp - 0x38]
imul edx, dword [ebp - 0x1ec]
mov edi, edx
xor ebx, ebx
movzx eax, byte [ebp - 6]
not eax
cdq
xor eax, dword [0x1004a0e0]
xor edx, dword [0x1004a0e4]
sub edi, eax
sbb ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [0x1004a188], ecx
mov dword [0x1004a18c], esi
jmp 0x100289d2
movzx eax, word [0x1004a0cc]
test eax, eax
je 0x100289d2
xor ecx, ecx
mov dword [ebp - 0x48], 0x19
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0xb8]
add edx, 0x3ad
mov dword [ebp - 0x32c], edx
xor eax, eax
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x44], eax
movsx eax, byte [str.address_family_not]
cdq
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
movsx eax, byte [str.address_family_not]
cdq
sub eax, ecx
mov byte [str.address_family_not], al
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
jl 0x10028b39
jg 0x10028a4c
cmp dword [ebp - 0xe4], 0
jb 0x10028b39
cmp dword [ebp - 0xe0], 0
jg 0x10028b39
jl 0x10028a68
cmp dword [ebp - 0xe4], 3
ja 0x10028b39
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x7d4], ecx
mov edx, dword [ebp - 0x7d4]
jmp dword [edx*4 + 0x10029bd0]
mov edx, dword [ebp - 0x328]
add edx, dword [ebp - 0xb8]
mov dword [ebp - 0x338], edx
mov dword [0x1004a0c8], 0xa8e1
mov eax, dword [0x1004a0c8]
xor ecx, ecx
mov edx, dword [ebp - 0x2c]
add edx, 1
mov esi, dword [ebp - 0x28]
adc esi, 0
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5bc], ecx
mov dword [ebp - 0x5c8], edx
mov dword [ebp - 0x5c4], esi
mov eax, dword [ebp - 0x5c0]
cmp eax, dword [ebp - 0x5c8]
jne 0x10028cc9
mov ecx, dword [ebp - 0x5bc]
cmp ecx, dword [ebp - 0x5c4]
jne 0x10028cc9
mov edx, dword [ebp - 0x2c]
or edx, dword [ebp - 0x28]
je 0x10028c1e
movzx eax, byte [0x1004a0bc]
movzx ecx, byte [ebp - 6]
cmp eax, ecx
jge 0x10028bf8
movzx eax, byte [ebp - 2]
cdq
add eax, 0x4d999e8
adc edx, 0x44611
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
and ecx, eax
and esi, edx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
mov eax, dword [0x1004a140]
cdq
push edx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1002e960
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10028c1c
mov ecx, dword [ebp - 0x2c]
or ecx, dword [ebp - 0x28]
je 0x10028c1c
movsx eax, word [ebp - 0xc]
cdq
mov edx, dword [0x1004a0e0]
mov ecx, dword [0x1004a0e4]
mov dword [ebp - 0x778], ecx
and edx, eax
mov byte [ebp - 1], dl
jmp 0x10028c65
cmp dword [ebp - 0x34], 0
je 0x10028c3e
mov eax, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov cl, 5
call fcn.1002e9f0
mov word [0x1004a0f0], ax
jmp 0x10028c65
movsx edx, word [ebp - 0x10]
test edx, edx
je 0x10028c54
mov al, byte [str.address_family_not]
add al, 1
mov byte [str.address_family_not], al
jmp 0x10028c65
movzx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], edx
cmp dword [0x1004a110], 1
jne 0x10028cc9
movzx eax, word [0x1004a150]
not eax
movsx ecx, word [0x1004a120]
sub eax, ecx
cdq
mov ecx, dword [ebp - 0x2c]
not ecx
mov esi, dword [ebp - 0x28]
not esi
xor edi, edi
xor ecx, dword [0x1004a17c]
xor esi, edi
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x10028cc9
mov dword [0x1004a0c8], 0xa8e1
mov eax, dword [ebp - 0x5c]
sub eax, 0x41
mov byte [ebp - 6], al
mov ecx, dword [0x1004a144]
add ecx, 0x3502be76
mov edx, dword [ebp - 0x34]
sub edx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x334]
imul ecx, dword [ebp - 0x338]
cmp eax, ecx
je 0x100297c5
mov edx, dword [0x1004a170]
or edx, dword [0x1004a174]
jne 0x10028d33
xor eax, eax
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2fc], eax
jmp 0x10028d3e
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
movzx eax, byte [ebp - 1]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1004a134]
sub ecx, dword [0x1004a130]
sbb esi, edx
mov eax, dword [0x1004a118]
not eax
mov edx, dword [0x1004a11c]
not edx
add eax, dword [ebp - 0x300]
adc edx, dword [ebp - 0x2fc]
sub ecx, eax
sbb esi, edx
movzx eax, byte [0x1004a0bb]
cdq
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov byte [ebp - 3], al
mov eax, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
sub eax, 0x91
sbb ecx, 0
mov dword [0x1004a0d8], eax
mov dword [0x1004a0dc], ecx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xbc], edx
movzx eax, word [ebp - 0x1c]
movsx ecx, word [0x1004a100]
imul eax, ecx
mov word [ebp - 0x10], ax
mov eax, dword [0x1004a15c]
cdq
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0xbc]
add edx, 0x4e51
mov dword [ebp - 0x77c], edx
lea eax, [ebp - 0xb14]
push eax
push 0
push 0x1003b510
push 0x1003b514
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0xbc]
add edx, 0x1a
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0xbc]
add eax, 0x8730
mov dword [ebp - 0x780], eax
movzx ecx, byte [ebp - 1]
cmp dword [ebp - 0x38], ecx
jne 0x10028e38
mov dword [ebp - 0x1f0], 1
jmp 0x10028e42
mov dword [ebp - 0x1f0], 0
cmp dword [ebp - 0x38], 0xc
jne 0x10028e54
mov dword [ebp - 0x1f4], 1
jmp 0x10028e5e
mov dword [ebp - 0x1f4], 0
mov edx, dword [ebp - 0x1f0]
cmp edx, dword [ebp - 0x1f4]
jne 0x10028fd4
mov eax, dword [0x1004a118]
or eax, dword [0x1004a11c]
jne 0x10028ea1
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x5d8], ecx
mov dword [ebp - 0x5d4], edx
mov eax, dword [ebp - 0x5d8]
or eax, dword [ebp - 0x5d4]
je 0x10028fcf
movsx ecx, word [0x1004a120]
test ecx, ecx
jne 0x10028eb8
mov dword [ebp - 0x1f8], 1
jmp 0x10028ec2
mov dword [ebp - 0x1f8], 0
mov edx, dword [ebp - 0x2c]
add edx, 0xce0f18fc
mov eax, dword [ebp - 0x28]
adc eax, 0xffffffff
mov ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x1f8]
xor esi, esi
add edx, ecx
adc eax, esi
mov dword [ebp - 0x5e0], edx
mov dword [ebp - 0x5dc], eax
mov edx, dword [ebp - 0x5e0]
or edx, dword [ebp - 0x5dc]
jne 0x10028f0e
xor eax, eax
mov dword [ebp - 0x310], 1
mov dword [ebp - 0x30c], eax
jmp 0x10028f19
xorps xmm0, xmm0
movlpd qword [ebp - 0x310], xmm0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
not ecx
not edx
xor eax, eax
add ecx, dword [0x1004a178]
adc edx, eax
mov dword [ebp - 0x5e8], ecx
mov dword [ebp - 0x5e4], edx
mov ecx, dword [ebp - 0x5e8]
or ecx, dword [ebp - 0x5e4]
jne 0x10028f5b
xor edx, edx
mov dword [ebp - 0x308], 1
mov dword [ebp - 0x304], edx
jmp 0x10028f66
xorps xmm0, xmm0
movlpd qword [ebp - 0x308], xmm0
movzx eax, byte [ebp - 3]
not eax
cdq
mov ecx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
xor ecx, eax
xor esi, edx
add ecx, dword [ebp - 0x308]
adc esi, dword [ebp - 0x304]
not ecx
not esi
mov edx, dword [ebp - 0x310]
sub edx, ecx
mov eax, dword [ebp - 0x30c]
sbb eax, esi
mov dword [str.J64_], edx
mov dword [0x1004a13c], eax
movsx eax, byte [0x1004a03f]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
jmp 0x1002910f
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x5f0], edx
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5f8], ecx
mov dword [ebp - 0x5f4], esi
mov edx, dword [ebp - 0x5f0]
cmp edx, dword [ebp - 0x5f8]
jne 0x1002904f
mov eax, dword [ebp - 0x5ec]
cmp eax, dword [ebp - 0x5f4]
jne 0x1002904f
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
add ecx, 1
adc edx, 0
mov dword [0x1004a130], ecx
mov dword [0x1004a134], edx
mov ecx, dword [ebp - 0x40]
and ecx, 0xab82
movzx eax, byte [ebp - 3]
cdq
or eax, ecx
mov byte [ebp - 3], al
jmp 0x1002910f
mov edx, 0xffff5639
test edx, edx
je 0x10029089
mov eax, dword [0x1004a148]
sub eax, dword [ebp - 0x5c]
mov ecx, dword [0x1004a148]
sub ecx, eax
mov dword [0x1004a148], ecx
mov eax, dword [0x1004a148]
add eax, 0x1e0bb6b5
cdq
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
jmp 0x1002910f
movsx edx, byte [0x1004a092]
test edx, edx
je 0x100290ab
movsx eax, byte [0x1004a092]
test eax, eax
je 0x100290ab
mov dword [ebp - 0x1fc], 1
jmp 0x100290b5
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1fc]
not eax
cdq
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x5fc], edx
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x5fc]
ja 0x1002910f
jb 0x100290e2
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x600]
ja 0x1002910f
mov eax, dword [0x1004a0e0]
mov ecx, dword [0x1004a0e4]
mov dword [ebp - 0x784], ecx
mov byte [str.address_family_not], al
movsx eax, word [0x1004a100]
movzx edx, word [ebp - 0x1c]
sub eax, edx
add eax, dword [ebp - 0x5c]
cdq
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
movzx eax, byte [ebp - 4]
test eax, eax
je 0x10029207
push 0
push 0
call fcn.10024090
add esp, 8
mov dword [0x1004a0f8], eax
mov dword [0x1004a0fc], edx
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x608], ecx
mov dword [ebp - 0x604], edx
mov eax, dword [ebp - 0x608]
or eax, dword [ebp - 0x604]
je 0x1002916a
imul ecx, dword [0x1004a17c], 0x69
and ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
jmp 0x10029207
cmp dword [0x1004a14c], 0
jne 0x10029187
xor edx, edx
mov dword [ebp - 0x318], 1
mov dword [ebp - 0x314], edx
jmp 0x10029192
xorps xmm0, xmm0
movlpd qword [ebp - 0x318], xmm0
cmp dword [ebp - 0x318], 0x9cd449c
jne 0x100291b6
cmp dword [ebp - 0x314], 0x5fd2f
jne 0x100291b6
mov dword [ebp - 0x200], 1
jmp 0x100291c0
mov dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x200]
not eax
test eax, eax
je 0x10029207
movzx ecx, byte [ebp - 2]
mov edx, dword [0x1004a190]
imul edx, ecx
mov esi, edx
xor edi, edi
mov eax, dword [0x1004a188]
mov ecx, dword [0x1004a18c]
mov edx, dword [0x1004a0e0]
mov ebx, dword [0x1004a0e4]
push ebx
push edx
push ecx
push eax
call fcn.1002e960
xor esi, eax
xor edi, edx
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], edi
mov eax, 0x2000
sub eax, dword [ebp - 0x33c]
xor eax, 0x1e4e
mov dword [ebp - 0x34c], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xc0], ecx
mov byte [0x1004a092], 0x5e
mov edx, dword [ebp - 0x34]
sub edx, 0x4c55
mov dword [0x1004a140], edx
mov eax, dword [ebp - 0xc0]
add eax, 0xba40
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0xc0]
add ecx, 0xb133
mov dword [ebp - 0x340], ecx
movzx edx, byte [0x1004a056]
test edx, edx
je 0x1002926f
jmp 0x1002928d
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x788], ecx
mov edx, 2
imul ecx, edx, 0x2735
mov word [ecx + 0x102499e8], ax
mov edx, dword [ebp - 0xc0]
add edx, 0x103
mov dword [ebp - 0x348], edx
mov eax, dword [0x1004a168]
mov ecx, dword [0x1004a16c]
mov dword [0x1004a0e0], eax
mov dword [0x1004a0e4], ecx
mov edx, dword [0x1004a0d0]
or edx, dword [0x1004a0d4]
je 0x10029313
mov dword [ebp - 0xc4], 0
jmp 0x100292de
mov eax, dword [ebp - 0xc4]
add eax, 2
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x64
jge 0x10029311
mov ecx, dword [0x1004ac78]
xor edx, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov al, byte [0x1004ac78]
mov byte [ebp - 5], al
mov cx, word [0x1004a120]
add cx, 1
mov word [0x1004a120], cx
jmp 0x100292cf
jmp 0x10029326
movsx edx, byte [0x1004a03f]
imul edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
sub eax, edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x340]
xor ecx, dword [ebp - 0x344]
mov edx, dword [ebp - 0x348]
or edx, 0x30
lea eax, [ecx + edx - 0xb73]
mov dword [ebp - 0x350], eax
call fcn.1000e670
test eax, eax
je 0x100297a3
push 0
lea ecx, [ebp - 0x1438]
push ecx
push 0x104
push 0x1003b524
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov dword [0x1004a15c], eax
cmp dword [0x1004a15c], 0
je 0x10029388
mov dword [ebp - 0x204], 1
jmp 0x10029392
mov dword [ebp - 0x204], 0
cmp dword [0x1004a15c], 0x4f
je 0x100293a7
mov dword [ebp - 0x208], 1
jmp 0x100293b1
mov dword [ebp - 0x208], 0
mov edx, dword [ebp - 0x204]
cmp edx, dword [ebp - 0x208]
jge 0x100293ec
movsx eax, byte [ebp - 5]
cmp dword [0x1004a14c], eax
jb 0x100293ea
mov ecx, dword [0x1004ac78]
xor edx, edx
mov dword [0x1004a0e0], ecx
mov dword [0x1004a0e4], edx
movzx eax, byte [ebp - 4]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x1002942e
cmp dword [ebp - 0x34], 0
je 0x10029406
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], ecx
jmp 0x10029417
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x25c]
mov dword [0x1004a130], edx
mov dword [0x1004a134], eax
mov byte [0x1004a03e], 0xe0
movsx ecx, byte [0x1004a03e]
movzx edx, byte [ebp - 1]
add edx, 0x4fc31ae0
cmp ecx, edx
jne 0x10029537
movsx eax, byte [0x1004a092]
cdq
mov ecx, dword [ebp - 0x2c]
add ecx, 0xbf2b932d
mov esi, dword [ebp - 0x28]
adc esi, 0xc9d6b
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x60c], edx
mov dword [ebp - 0x618], ecx
mov dword [ebp - 0x614], esi
mov edx, dword [ebp - 0x610]
cmp edx, dword [ebp - 0x618]
jne 0x10029537
mov eax, dword [ebp - 0x60c]
cmp eax, dword [ebp - 0x614]
jne 0x10029537
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov ecx, dword [0x1004a154]
shr ecx, 1
mov word [0x1004a0cc], cx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x620], edx
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x620]
or ecx, dword [ebp - 0x61c]
je 0x100294dd
jmp 0x10029506
mov edx, dword [ebp - 0x30]
add edx, 0xf419
mov dword [0x1004a15c], edx
movsx ax, byte [0x1004a093]
mov ecx, 2
imul edx, ecx, 0xd258
mov word [edx + 0x10221730], ax
jmp 0x10029537
mov byte [0x1004a03e], 0xe0
mov edx, dword [0x1004ac78]
mov dword [0x1004a158], edx
movsx eax, word [ebp - 0xc]
imul ecx, eax, 0xe7e0
mov byte [ebp - 4], cl
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x628], edx
mov dword [ebp - 0x624], eax
mov ecx, dword [ebp - 0x628]
or ecx, dword [ebp - 0x624]
je 0x10029590
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], eax
jmp 0x100295a8
mov ecx, dword [0x1004a118]
mov edx, dword [0x1004a11c]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x254]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xd4], edx
movzx eax, byte [ebp - 6]
sar eax, 7
mov dword [ebp - 0x34], eax
mov ecx, dword [0x1004a15c]
add ecx, 0x9e
mov dword [0x1004a110], ecx
mov edx, dword [ebp - 0x34c]
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0xd4]
add eax, 0x5b
mov dword [ebp - 0xd0], eax
mov ecx, dword [0x1004a0c8]
add ecx, 0x452f
mov byte [0x1004a0ba], cl
mov edx, dword [ebp - 0x350]
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0x20c], edx
mov dword [0x1004a128], 0x21
mov eax, dword [0x1004a154]
xor ecx, ecx
mov edx, dword [ebp - 0x2c]
add edx, 0x153f8d4
mov esi, dword [ebp - 0x28]
adc esi, 0xc831b
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], ecx
mov dword [ebp - 0x638], edx
mov dword [ebp - 0x634], esi
mov eax, dword [ebp - 0x630]
cmp eax, dword [ebp - 0x638]
jne 0x100296d2
mov ecx, dword [ebp - 0x62c]
cmp ecx, dword [ebp - 0x634]
jne 0x100296d2
mov edx, dword [0x1004a180]
mov eax, dword [0x1004a184]
add edx, dword [ebp - 0x40]
adc eax, dword [ebp - 0x3c]
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x640], 1
jne 0x100296d2
cmp dword [ebp - 0x63c], 0
jne 0x100296d2
mov ecx, dword [0x1004a15c]
not ecx
and ecx, dword [0x1004a144]
mov dword [ebp - 0x30], ecx
jmp 0x10029627
mov ecx, dword [ebp - 0x20c]
imul ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd0]
add edx, dword [ebp - 0x20c]
imul ecx, edx
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0x354]
cmp ecx, eax
je 0x100297a3
mov dword [ebp - 0x358], 0x104
lea ecx, [ebp - 0x358]
push ecx
lea edx, [ebp - 0xc18]
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10029738
mov dword [ebp - 0x210], 1
jmp 0x10029742
mov dword [ebp - 0x210], 0
movzx ecx, word [ebp - 0x1c]
cmp ecx, 0x1a
jne 0x10029757
mov dword [ebp - 0x214], 1
jmp 0x10029761
mov dword [ebp - 0x214], 0
mov edx, dword [ebp - 0x210]
cmp edx, dword [ebp - 0x214]
jl 0x10029790
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x78c], edx
sub eax, ecx
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 0x30], ecx
jmp 0x1002979c
mov dl, byte [0x1004ac78]
mov byte [0x1004a0ba], dl
xor eax, eax
jmp 0x10029bb7
push 0x1003b538
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
xor ecx, ecx
mov dword [0x1004a0e0], eax
mov dword [0x1004a0e4], ecx
mov eax, 1
jmp 0x10029bb7
imul edx, dword [ebp - 0x35c], 0x3e1
cmp dword [ebp - 0x360], edx
je 0x10029ba5
mov eax, dword [0x1004a14c]
sub eax, 0x7736e734
xor ecx, ecx
mov dword [0x1004a188], eax
mov dword [0x1004a18c], ecx
mov edx, dword [0x1004a0f8]
mov eax, dword [0x1004a0fc]
mov dword [ebp - 0x648], edx
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x648]
or ecx, dword [ebp - 0x644]
je 0x10029830
mov edx, dword [0x1004a160]
mov eax, dword [0x1004a164]
mov dword [ebp - 0x320], edx
mov dword [ebp - 0x31c], eax
jmp 0x10029848
mov ecx, dword [0x1004a0d0]
mov edx, dword [0x1004a0d4]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x34], eax
mov dword [0x1004a148], 0x37d07db2
mov ecx, dword [0x1004a0c0]
mov esi, dword [0x1004a0c4]
movzx eax, byte [ebp - 3]
cdq
add eax, 0x1d8f0c12
adc edx, 0x6b600
mov dword [ebp - 0x650], ecx
mov dword [ebp - 0x64c], esi
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x654], edx
mov edx, dword [ebp - 0x650]
cmp edx, dword [ebp - 0x658]
jne 0x10029981
mov eax, dword [ebp - 0x64c]
cmp eax, dword [ebp - 0x654]
jne 0x10029981
movsx eax, byte [0x1004a03e]
cdq
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x660], 1
jne 0x10029981
cmp dword [ebp - 0x65c], 0
jne 0x10029981
movzx ecx, byte [ebp - 2]
movzx edx, byte [ebp - 4]
sub ecx, edx
mov byte [ebp - 2], cl
movzx eax, byte [ebp - 3]
and eax, 0xc82b
cdq
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
jmp 0x10029851
call fcn.1000e670
test eax, eax
je 0x10029ba5
mov eax, dword [0x1004a0f8]
mov ecx, dword [0x1004a0fc]
mov dword [ebp - 0x794], ecx
push eax
call fcn.10024660
add esp, 4
mov dword [0x1004a14c], eax
cmp dword [0x1004a14c], 0
je 0x10029ac5
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x670], edx
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x678], ecx
mov dword [ebp - 0x674], esi
mov edx, dword [ebp - 0x66c]
cmp edx, dword [ebp - 0x674]
jg 0x10029a0d
jl 0x10029a01
mov eax, dword [ebp - 0x670]
cmp eax, dword [ebp - 0x678]
ja 0x10029a0d
mov dword [ebp - 0x21c], 1
jmp 0x10029a17
mov dword [ebp - 0x21c], 0
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x680], ecx
mov dword [ebp - 0x67c], edx
cmp dword [ebp - 0x67c], 0
jg 0x10029a4f
jl 0x10029a43
cmp dword [ebp - 0x680], 0x23
ja 0x10029a4f
mov dword [ebp - 0x220], 1
jmp 0x10029a59
mov dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x21c]
cmp eax, dword [ebp - 0x220]
jge 0x10029a9c
mov eax, dword [0x1004a15c]
cdq
add eax, dword [ebp - 0x2c]
adc edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1004a180]
mov esi, dword [0x1004a184]
sub ecx, eax
sbb esi, edx
mov dword [0x1004a180], ecx
mov dword [0x1004a184], esi
jmp 0x10029ac0
movzx edx, byte [ebp - 6]
test edx, edx
je 0x10029ac0
movsx eax, byte [str.address_family_not]
add eax, 0x1e1a
mov dword [ebp - 0x5c], eax
movsx ecx, word [ebp - 0xc]
shl ecx, 7
mov dword [0x1004a14c], ecx
jmp 0x10029ba1
movzx edx, byte [ebp - 3]
test edx, edx
jne 0x10029ae1
movzx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10029ae1
mov dword [ebp - 0x228], 0
jmp 0x10029aeb
mov dword [ebp - 0x228], 1
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x688], ecx
mov dword [ebp - 0x684], edx
mov eax, dword [ebp - 0x688]
or eax, dword [ebp - 0x684]
jne 0x10029b1d
mov dword [ebp - 0x224], 1
jmp 0x10029b27
mov dword [ebp - 0x224], 0
movzx ecx, word [0x1004a0f0]
imul ecx, dword [ebp - 0x224]
cmp dword [ebp - 0x228], ecx
jge 0x10029ba1
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x54]
add edx, dword [ebp - 0x58]
adc eax, ecx
xor ecx, ecx
add edx, dword [0x1004a158]
adc eax, ecx
mov dword [ebp - 0x690], edx
mov dword [ebp - 0x68c], eax
mov edx, dword [ebp - 0x690]
or edx, dword [ebp - 0x68c]
jne 0x10029b75
mov byte [ebp - 0x6c], 1
jmp 0x10029b79
mov byte [ebp - 0x6c], 0
mov al, byte [ebp - 0x6c]
mov byte [ebp - 3], al
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x798], edx
add ecx, 0x9fe09225
movsx eax, word [0x1004a100]
cdq
and eax, ecx
mov word [0x1004a100], ax
xor eax, eax
jmp 0x10029bb7
mov eax, dword [ebp - 0x24]
sub eax, 0x61c8
mov dword [0x1004a140], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8