Function at 0x10010760
Capabilities:
Authenticate hmac
Create directory
Get common file path
Get session user name
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2b40
call fcn.1002ea10
push ebx
push esi
push edi
mov eax, dword [0x1004a17c]
mov dword [ebp - 0x5f8], eax
mov ecx, dword [0x1004a104]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x2c], 0xf6
mov dword [ebp - 0x30], 0xd143a03f
mov dword [ebp - 0x34], 0x97
mov edx, 0xa8
mov word [ebp - 0x18], dx
mov al, byte [0x1004a06b]
mov byte [ebp - 3], al
movsx eax, word [0x1004a100]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x20], 0xece8
xor ecx, ecx
mov dword [ebp - 0x3c], 0xe174
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], 0xe158
movsx edx, word [0x1004a120]
mov dword [ebp - 0x54], edx
mov eax, dword [0x1004a108]
mov ecx, dword [0x1004a10c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x4c], 0x35d7
mov byte [ebp - 9], 0x29
mov edx, dword [0x1004a104]
mov word [ebp - 0x24], dx
mov ax, word [0x1004a0c8]
mov word [ebp - 0x14], ax
mov ecx, 0xe7
mov word [ebp - 0x1c], cx
mov dx, word [0x1004a178]
mov word [ebp - 0x10], dx
mov ax, word [0x1004a0d0]
mov word [ebp - 0x28], ax
mov byte [ebp - 1], 0x5a
mov byte [ebp - 2], 0xa8
mov cx, word [0x1004a140]
mov word [ebp - 8], cx
mov edx, 0xc6b24
mov dword [ebp - 0x628], 0xb2c750c0
mov dword [ebp - 0x624], edx
mov eax, dword [0x1004a128]
cdq
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], edx
xor eax, eax
mov dword [ebp - 0x638], 0x7ac04d7
mov dword [ebp - 0x634], eax
mov byte [ebp - 0x71], 0xbb
mov ecx, 0x7470c
mov dword [ebp - 0x640], 0xc3792aef
mov dword [ebp - 0x63c], ecx
mov eax, dword [0x1004a140]
cdq
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x644], edx
mov edx, 0x68e37
mov dword [ebp - 0x650], 0x5f5a46ad
mov dword [ebp - 0x64c], edx
mov eax, dword [0x1004a190]
mov word [ebp - 0x3ac], ax
mov ecx, 0xd1
mov word [ebp - 0x3a8], cx
mov dx, word [0x1004a120]
mov byte [ebp - 0x70], dl
mov al, byte [0x1004a017]
mov byte [ebp - 0x6f], al
mov cl, byte [0x1004a124]
mov byte [ebp - 0xdd], cl
mov edx, dword [0x1004a190]
mov dword [ebp - 0x5fc], edx
mov eax, 0x5b0fb
mov dword [ebp - 0x658], 0x7cdddda5
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x600], 0x959a7fbf
mov dword [ebp - 0x604], 0x2c042194
mov ecx, dword [0x1004a108]
not ecx
mov edx, dword [0x1004a10c]
not edx
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp - 0x3c4]
or eax, dword [ebp - 0x3c0]
je 0x10010989
mov ecx, dword [0x1004a118]
or ecx, dword [0x1004a11c]
je 0x1001096a
movsx eax, word [ebp - 0x1c]
cdq
add eax, dword [str.J64_]
mov word [ebp - 0x1c], ax
jmp 0x10010987
mov eax, dword [0x1004a128]
cdq
add eax, 0x96d49ecb
mov dword [ebp - 0x30], eax
mov edx, dword [0x1004a110]
sub edx, 1
mov dword [0x1004a110], edx
jmp 0x100109b5
movzx eax, word [0x1004a150]
movsx ecx, byte [0x1004a092]
xor eax, ecx
movzx edx, word [0x1004a150]
add edx, eax
mov word [0x1004a150], dx
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
add edx, 0xc7
mov dword [ebp - 0x3b0], edx
imul eax, dword [ebp - 0x50], 0xe83f
movsx ecx, word [ebp - 0x1c]
sub ecx, eax
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x78]
add edx, 0xd0
mov dword [ebp - 0x10c], edx
mov ax, word [ebp - 0x28]
add ax, 1
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0x78]
add ecx, 0x19f
mov dword [ebp - 0x108], ecx
mov edx, dword [0x1004a190]
cmp dword [ebp - 0x48], edx
jbe 0x10010a18
mov eax, dword [ebp - 0x54]
jmp 0x10010a3c
mov ecx, dword [0x1004a0d0]
add ecx, dword [0x1004a0d0]
mov edx, dword [0x1004a0d4]
adc edx, dword [0x1004a0d4]
mov dword [0x1004a0d0], ecx
mov dword [0x1004a0d4], edx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x7c], eax
cmp dword [0x1004a110], 0
jne 0x10010a59
mov dword [ebp - 0x2cc], 1
jmp 0x10010a63
mov dword [ebp - 0x2cc], 0
movsx ecx, byte [ebp - 1]
mov edx, dword [0x1004a154]
add edx, ecx
imul edx, dword [ebp - 0x2cc]
mov dword [0x1004a144], edx
mov eax, dword [ebp - 0x7c]
add eax, 0x366
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x7c]
add ecx, 0x1db
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ecx, dword [0x1004a188]
mov esi, dword [0x1004a18c]
push eax
push edx
push esi
push ecx
call fcn.1002e960
mov dword [0x1004a188], eax
mov dword [0x1004a18c], edx
mov edx, dword [ebp - 0x7c]
add edx, 0x175
mov dword [ebp - 0x1b0], edx
xorps xmm0, xmm0
movlpd qword [0x1004a180], xmm0
movsx eax, byte [0x1004a093]
cdq
mov ecx, eax
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x608], eax
add ecx, edx
movsx eax, byte [0x1004a093]
cdq
sub eax, ecx
mov byte [0x1004a093], al
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp - 0x3cc]
or eax, dword [ebp - 0x3c8]
je 0x10010b2c
jmp 0x10010b45
mov dword [0x1004a190], 0x6217
mov ecx, dword [ebp - 0x20]
sub ecx, 0xec24
and ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0x80], edx
lea eax, [ebp - 0x1f10]
push eax
push 0
push 0x1003b604
push 0x1003b60c
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x80]
add ecx, 0x398
mov dword [ebp - 0x354], ecx
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
mov dword [ebp - 0x3d4], edx
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3d4]
cmp ecx, dword [0x1004a0e8]
jne 0x10010bac
mov edx, dword [ebp - 0x3d0]
cmp edx, dword [0x1004a0ec]
je 0x10010bb8
mov dword [ebp - 0x2d0], 1
jmp 0x10010bc2
mov dword [ebp - 0x2d0], 0
mov eax, dword [0x1004a168]
mov ecx, dword [0x1004a16c]
mov dword [ebp - 0x3dc], eax
mov dword [ebp - 0x3d8], ecx
cmp dword [ebp - 0x3dc], 0x5a
jne 0x10010beb
cmp dword [ebp - 0x3d8], 0
je 0x10010bf7
mov dword [ebp - 0xec], 1
jmp 0x10010c01
mov dword [ebp - 0xec], 0
mov edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0xec]
jl 0x10010ccf
mov eax, dword [0x1004a0e0]
mov ecx, dword [0x1004a0e4]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3e4]
or edx, dword [ebp - 0x3e0]
je 0x10010c4c
mov eax, dword [ebp - 0x20]
shr eax, 1
xor ecx, ecx
mov dword [0x1004a108], eax
mov dword [0x1004a10c], ecx
jmp 0x10010cca
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
not edx
not eax
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
not ecx
not esi
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3f4], ecx
mov dword [ebp - 0x3f0], esi
mov edx, dword [ebp - 0x3ec]
cmp edx, dword [ebp - 0x3f4]
jne 0x10010ca6
mov eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f0]
jne 0x10010ca6
imul ecx, dword [0x1004a190], 0x33
movsx edx, byte [ebp - 1]
add edx, ecx
mov byte [ebp - 1], dl
jmp 0x10010cca
movsx eax, byte [ebp - 1]
not eax
test eax, eax
jne 0x10010cbb
movzx ecx, word [0x1004a150]
test ecx, ecx
je 0x10010cca
mov edx, dword [0x1004a148]
sub edx, 1
mov dword [0x1004a148], edx
jmp 0x10010d79
cmp dword [ebp - 0x20], 0
jne 0x10010cdf
cmp dword [ebp - 0x4c], 0
je 0x10010d79
mov eax, 1
imul ecx, eax, 0x2c
mov dl, byte [ebp - 0x14]
mov byte [ecx + 0x100d64f8], dl
movzx eax, word [ebp - 8]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x1004a148]
cdq
mov ecx, dword [0x1004a16c]
sub eax, dword [0x1004a168]
sbb edx, ecx
not eax
not edx
xor esi, eax
xor edi, edx
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ecx, dword [0x1004a130]
mov ebx, dword [0x1004a134]
push ebx
push ecx
push eax
push edx
call fcn.1002e960
mov ecx, eax
mov ebx, edx
movzx eax, byte [ebp - 2]
cdq
xor eax, dword [ebp - 0x3c]
xor edx, dword [ebp - 0x38]
add ecx, eax
adc ebx, edx
sub esi, ecx
sbb edi, ebx
mov dword [ebp - 0x3fc], esi
mov dword [ebp - 0x3f8], edi
mov edx, dword [ebp - 0x3fc]
or edx, dword [ebp - 0x3f8]
jne 0x10010d6b
mov eax, 1
mov word [ebp - 0x6e], ax
jmp 0x10010d71
xor ecx, ecx
mov word [ebp - 0x6e], cx
mov dx, word [ebp - 0x6e]
mov word [ebp - 8], dx
mov eax, dword [ebp - 0x80]
add eax, 0x237
mov dword [ebp - 0x22c], eax
movsx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x10010d9c
mov dx, word [0x1004a100]
mov word [ebp - 0x6c], dx
jmp 0x10010da4
mov ax, word [ebp - 0x14]
mov word [ebp - 0x6c], ax
movsx eax, word [ebp - 0x6c]
cdq
mov dword [0x1004a180], eax
mov dword [0x1004a184], edx
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov eax, dword [0x1004a0d4]
push eax
mov eax, dword [0x1004a0d0]
push eax
push edx
push ecx
call fcn.1002e960
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
and ecx, eax
and esi, edx
mov dword [0x1004a130], ecx
mov dword [0x1004a134], esi
mov edx, dword [ebp - 0x80]
add edx, 0x126
mov dword [ebp - 0x358], edx
mov ecx, 9
mov esi, 0x1003b610
lea edi, [ebp - 0x680]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x680]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 0x14], ax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x84], ecx
cmp dword [0x1004a140], 0
je 0x10010e68
movsx eax, word [ebp - 0x1c]
sub eax, 0x52
cdq
and eax, dword [ebp - 0x44]
and edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx edx, byte [0x1004a0bb]
mov eax, dword [0x1004a17c]
add eax, edx
mov ecx, dword [0x1004a17c]
sub ecx, eax
mov dword [0x1004a17c], ecx
mov edx, dword [ebp - 0x84]
add edx, 0x2ef
mov dword [ebp - 0x368], edx
movzx eax, word [0x1004a0cc]
test eax, eax
je 0x10010e90
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xf0], ecx
jmp 0x10010e99
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf0]
mov dword [0x1004a0c8], eax
mov ecx, dword [ebp - 0x84]
add ecx, 0x20
mov dword [ebp - 0x60c], ecx
movzx edx, byte [0x1004a06b]
movzx eax, word [0x1004a0cc]
cmp edx, eax
je 0x10010ee1
mov eax, dword [ebp - 0x50]
cdq
add eax, 0x2eb45fa9
adc edx, 0x232ae
mov dword [0x1004a0e8], eax
mov dword [0x1004a0ec], edx
jmp 0x10010f39
movsx ecx, word [0x1004a120]
test ecx, ecx
je 0x10010f39
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
mov dword [ebp - 0x610], eax
sub edx, 0x6d
mov dword [ebp - 0x54], edx
cmp dword [0x1004a154], 0
jne 0x10010f18
mov dword [ebp - 0xf4], 1
jmp 0x10010f22
mov dword [ebp - 0xf4], 0
movsx ecx, byte [0x1004a017]
mov eax, ecx
imul eax, dword [ebp - 0xf4]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x84]
add edx, 0x1c4
mov dword [ebp - 0x364], edx
movsx eax, word [ebp - 0x14]
test eax, eax
je 0x10010fed
movzx ecx, byte [0x1004a0ba]
cmp ecx, dword [ebp - 0x34]
jne 0x10010fbc
mov edx, dword [0x1004a148]
add edx, dword [ebp - 0x2c]
jne 0x10010f7a
mov dword [ebp - 0xfc], 1
jmp 0x10010f84
mov dword [ebp - 0xfc], 0
cmp dword [0x1004a128], 0
jne 0x10010f99
mov dword [ebp - 0xf8], 1
jmp 0x10010fa3
mov dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xfc]
sub ecx, eax
mov dword [0x1004a110], ecx
jmp 0x10010fed
cmp dword [ebp - 0x54], 0
je 0x10010fed
mov edx, 1
imul eax, edx, 0x28
movzx eax, byte [eax + 0x101bd8e0]
cdq
mov dword [0x1004a170], eax
mov dword [0x1004a174], edx
mov ecx, dword [0x1004a0d0]
add ecx, 0xfe7eafe4
mov word [ebp - 8], cx
cmp dword [ebp - 0x48], 0
je 0x10011149
push 0
push 0
push 0
push 0
push 0xffffffffffffff8a
call fcn.100248f0
add esp, 0x14
movsx eax, al
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x3c]
or edx, dword [ebp - 0x38]
jne 0x10011031
mov eax, 0x2dbc
test eax, eax
jne 0x10011031
xorps xmm0, xmm0
movlpd qword [ebp - 0x330], xmm0
jmp 0x10011043
xor ecx, ecx
mov dword [ebp - 0x330], 1
mov dword [ebp - 0x32c], ecx
mov edx, dword [ebp - 0x330]
cmp edx, dword [str.J64_]
jne 0x10011063
mov eax, dword [ebp - 0x32c]
cmp eax, dword [0x1004a13c]
je 0x1001112c
movsx ecx, byte [str.address_family_not]
cmp ecx, dword [ebp - 0x34]
jl 0x100110aa
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1004a180]
mov esi, dword [0x1004a184]
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov ecx, dword [0x1004a180]
mov esi, dword [0x1004a184]
add ecx, eax
adc esi, edx
mov dword [0x1004a180], ecx
mov dword [0x1004a184], esi
jmp 0x1001112a
movzx edx, byte [ebp - 2]
test edx, edx
je 0x100110e0
movsx eax, word [ebp - 0x14]
movzx ecx, byte [ebp - 9]
sub ecx, dword [ebp - 0x30]
movzx edx, word [ebp - 0x18]
movsx esi, byte [0x1004a093]
not esi
imul edx, esi
imul ecx, edx
sub eax, ecx
cdq
mov dword [0x1004a168], eax
mov dword [0x1004a16c], edx
jmp 0x1001112a
mov eax, dword [0x1004a160]
mov ecx, dword [0x1004a164]
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x400], ecx
mov edx, dword [ebp - 0x404]
or edx, dword [ebp - 0x400]
je 0x1001112a
movsx eax, word [0x1004a120]
mov ecx, dword [ebp - 0x54]
sub ecx, eax
movzx edx, word [0x1004a0cc]
add edx, dword [ebp - 0x4c]
add ecx, edx
xor eax, eax
mov dword [0x1004a108], ecx
mov dword [0x1004a10c], eax
jmp 0x10011149
mov ecx, 0xefdb7
mov dword [0x1004a0c0], 0xc483fadd
mov dword [0x1004a0c4], ecx
mov edx, dword [ebp - 0x20]
shr edx, 1
mov dword [ebp - 0x30], edx
movzx eax, word [ebp - 8]
test eax, eax
jne 0x1001115d
mov dword [ebp - 0x100], 1
jmp 0x10011167
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x4c]
xor eax, dword [ebp - 0x100]
cdq
mov dword [0x1004a0d8], eax
mov dword [0x1004a0dc], edx
movzx ecx, word [0x1004a150]
test ecx, ecx
jne 0x10011193
mov dword [ebp - 0x104], 1
jmp 0x1001119d
mov dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0x104]
not eax
cdq
mov edx, dword [0x1004a130]
mov ecx, dword [0x1004a134]
mov dword [ebp - 0x614], ecx
sub eax, edx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x10c]
add edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x108]
imul eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x3b0]
imul ecx, eax
cmp edx, ecx
je 0x100125ab
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
mov dword [ebp - 0x618], eax
movzx ecx, dl
push ecx
push 0xde
push 0
mov edx, dword [ebp - 0x4c]
push edx
call fcn.10024ee0
add esp, 0x10
mov byte [ebp - 9], al
movzx eax, byte [ebp - 9]
test eax, eax
jne 0x1001128f
movzx ecx, word [0x1004a0cc]
test ecx, ecx
jne 0x10011234
mov dword [ebp - 0x110], 1
jmp 0x1001123e
mov dword [ebp - 0x110], 0
movzx eax, byte [0x1004a06b]
cdq
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x44]
push edx
call fcn.1002e960
xor esi, eax
xor edi, edx
movzx eax, word [ebp - 0x28]
imul eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x34]
imul eax, ecx
cdq
push edx
push eax
push edi
push esi
call fcn.1002e960
mov word [ebp - 8], ax
movsx edx, byte [ebp - 1]
sub edx, 0x462ada1c
mov dword [ebp - 0x54], edx
mov byte [0x1004a0bb], 0x15
movzx eax, byte [0x1004a0bb]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x34]
cdq
add eax, 0x42958715
adc edx, 0x42248
mov dword [ebp - 0x40c], ecx
mov dword [ebp - 0x408], esi
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x378], edx
mov edx, dword [ebp - 0x40c]
cmp edx, dword [ebp - 0x37c]
jne 0x10011363
mov eax, dword [ebp - 0x408]
cmp eax, dword [ebp - 0x378]
jne 0x10011363
mov eax, dword [ebp - 0x34]
add eax, 0xbfa1
cdq
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x380], edx
mov ecx, dword [0x1004a108]
cmp ecx, dword [ebp - 0x384]
jne 0x10011363
mov edx, dword [0x1004a10c]
cmp edx, dword [ebp - 0x380]
jne 0x10011363
movzx eax, byte [ebp - 2]
cdq
add eax, 0x19aa31cd
mov dword [0x1004a17c], eax
movsx eax, word [ebp - 0x24]
cdq
add eax, 0xcc15855a
mov byte [str.address_family_not], al
jmp 0x10011363
mov byte [0x1004a0bb], 0x15
mov eax, dword [0x1004a0f8]
mov ecx, dword [0x1004a0fc]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x394], edx
mov dword [ebp - 0x390], esi
mov eax, dword [ebp - 0x388]
cmp eax, dword [ebp - 0x390]
jb 0x100113c5
ja 0x100113b1
mov ecx, dword [ebp - 0x38c]
cmp ecx, dword [ebp - 0x394]
jbe 0x100113c5
xor edx, edx
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x2e4], edx
jmp 0x100113d0
xorps xmm0, xmm0
movlpd qword [ebp - 0x2e8], xmm0
mov eax, dword [0x1004a130]
mov ecx, dword [0x1004a134]
sub eax, dword [ebp - 0x2e8]
sbb ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a4]
or edx, dword [ebp - 0x3a0]
jne 0x10011445
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x48]
jae 0x1001141d
xor ecx, ecx
mov dword [ebp - 0x2f0], 1
mov dword [ebp - 0x2ec], ecx
jmp 0x10011428
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f0], xmm0
mov edx, dword [0x1004a10c]
cmp edx, dword [ebp - 0x2ec]
jl 0x10011447
jg 0x10011445
mov eax, dword [0x1004a108]
cmp eax, dword [ebp - 0x2f0]
jb 0x10011447
jmp 0x100114aa
mov ecx, dword [ebp - 0x54]
not ecx
movsx edx, byte [0x1004a03f]
cmp ecx, edx
je 0x10011463
mov dword [ebp - 0x114], 1
jmp 0x1001146d
mov dword [ebp - 0x114], 0
cmp dword [ebp - 0x20], 0
jne 0x1001147f
mov dword [ebp - 0x118], 1
jmp 0x10011489
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x118]
je 0x100114aa
movsx ecx, byte [0x1004a03e]
sub ecx, 0x552d0d2c
mov dword [0x1004a158], ecx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0x88], edx
movzx eax, word [0x1004a0f0]
cdq
mov ecx, eax
and ecx, dword [0x1004a118]
movzx eax, word [0x1004a0f0]
cdq
add eax, ecx
mov word [0x1004a0f0], ax
mov edx, dword [ebp - 0x88]
add edx, 0x95
mov dword [ebp - 0x3b4], edx
mov eax, dword [0x1004a0c8]
xor ecx, ecx
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x39c]
jne 0x1001151d
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x398]
jne 0x1001151d
mov dword [ebp - 0x11c], 1
jmp 0x10011527
mov dword [ebp - 0x11c], 0
cmp dword [ebp - 0x3c], 0xd
jne 0x1001153f
cmp dword [ebp - 0x38], 0
jne 0x1001153f
mov dword [ebp - 0x120], 1
jmp 0x10011549
mov dword [ebp - 0x120], 0
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0x120]
jle 0x10011559
jmp 0x1001157e
cmp dword [ebp - 0x2c], 0
jne 0x1001157e
mov edx, dword [0x1004ac78]
xor eax, eax
mov dword [0x1004a168], edx
mov dword [0x1004a16c], eax
mov cl, byte [0x1004ac78]
mov byte [0x1004a093], cl
mov edx, dword [ebp - 0x88]
add edx, 0x1b
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x20]
xor esi, esi
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x418], esi
mov eax, dword [ebp - 0x410]
cmp eax, dword [ebp - 0x418]
ja 0x100115da
jb 0x100115ce
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x41c]
jae 0x100115da
mov dword [ebp - 0x124], 1
jmp 0x100115e4
mov dword [ebp - 0x124], 0
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x424], edx
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
ja 0x10011616
jb 0x1001160a
cmp dword [ebp - 0x424], 0x32
jae 0x10011616
mov dword [ebp - 0x128], 1
jmp 0x10011620
mov dword [ebp - 0x128], 0
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [ebp - 0x128]
jge 0x1001164b
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x10011649
movzx eax, byte [ebp - 9]
shl eax, 5
cdq
mov dword [0x1004a180], eax
mov dword [0x1004a184], edx
jmp 0x1001167a
movsx eax, byte [ebp - 3]
test eax, eax
je 0x1001167a
movsx ecx, word [ebp - 0x24]
movsx edx, byte [0x1004a093]
imul ecx, edx
mov word [ebp - 0x24], cx
mov ecx, dword [0x1004a170]
sub ecx, 0xd5
mov eax, dword [ebp - 0x50]
cdq
add eax, ecx
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x88]
add edx, 0x36
mov dword [ebp - 0x61c], edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x428]
cmp edx, dword [0x1004a0ec]
ja 0x100116c4
jb 0x100116b8
mov eax, dword [ebp - 0x42c]
cmp eax, dword [0x1004a0e8]
jae 0x100116c4
mov dword [ebp - 0x12c], 1
jmp 0x100116ce
mov dword [ebp - 0x12c], 0
cmp dword [ebp - 0x48], 0x5c
jae 0x100116e0
mov dword [ebp - 0x130], 1
jmp 0x100116ea
mov dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x130]
jne 0x100117c9
mov edx, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x430]
cmp ecx, dword [0x1004a11c]
jb 0x10011737
ja 0x1001172b
mov edx, dword [ebp - 0x434]
cmp edx, dword [0x1004a118]
jbe 0x10011737
mov dword [ebp - 0x134], 1
jmp 0x10011741
mov dword [ebp - 0x134], 0
cmp dword [ebp - 0x54], 0x24
jbe 0x10011753
mov dword [ebp - 0x138], 1
jmp 0x1001175d
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x138]
je 0x10011779
xor ecx, ecx
mov dword [ebp - 0x44], 0x4b
mov dword [ebp - 0x40], ecx
jmp 0x100117c9
movzx edx, word [0x1004a124]
test edx, edx
je 0x100117c9
cmp dword [ebp - 0x34], 0
jne 0x10011796
mov dword [ebp - 0x13c], 1
jmp 0x100117a0
mov dword [ebp - 0x13c], 0
mov eax, dword [0x1004a17c]
imul eax, dword [ebp - 0x13c]
test eax, eax
jne 0x100117bb
mov ecx, 1
mov word [ebp - 0x68], cx
jmp 0x100117c1
xor edx, edx
mov word [ebp - 0x68], dx
mov ax, word [ebp - 0x68]
mov word [ebp - 0x1c], ax
mov byte [str.address_family_not], 0xb0
movsx ecx, byte [0x1004a017]
movsx edx, byte [str.address_family_not]
movzx eax, word [ebp - 0x18]
add edx, eax
cmp ecx, edx
jne 0x100118b8
movsx ecx, word [ebp - 0x1c]
add ecx, 0xaced
mov byte [0x1004a0ba], cl
mov eax, dword [0x1004a144]
cdq
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1004a0f8]
mov eax, dword [0x1004a0fc]
sub edx, ecx
sbb eax, esi
mov dword [0x1004a0f8], edx
mov dword [0x1004a0fc], eax
movsx eax, byte [0x1004a03e]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x2c]
cdq
add eax, 0xfe0d557d
adc edx, 0x13221
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x438], esi
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
mov edx, dword [ebp - 0x43c]
cmp edx, dword [ebp - 0x444]
jne 0x100118b8
mov eax, dword [ebp - 0x438]
cmp eax, dword [ebp - 0x440]
jne 0x100118b8
movzx eax, word [ebp - 8]
add eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
mov edi, dword [0x1004a184]
add ecx, dword [0x1004a180]
adc esi, edi
add eax, ecx
adc edx, esi
mov dword [0x1004a0f8], eax
mov dword [0x1004a0fc], edx
movsx edx, word [ebp - 0x1c]
sub edx, 0x5cfb
mov byte [ebp - 9], dl
jmp 0x100117c9
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x20], ecx
imul edx, dword [ebp - 0x140], 0x6c1
mov eax, dword [ebp - 0x3b4]
xor eax, dword [ebp - 0x140]
add edx, eax
mov ecx, 0xb7d2
sub ecx, edx
mov dword [ebp - 0x338], ecx
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], edx
mov edx, dword [ebp - 0x448]
cmp edx, dword [0x1004a0d4]
jb 0x1001196d
ja 0x1001191a
mov eax, dword [ebp - 0x44c]
cmp eax, dword [0x1004a0d0]
jb 0x1001196d
movsx ecx, word [0x1004a100]
not ecx
test ecx, ecx
je 0x10011947
mov ecx, dword [ebp - 0x48]
sub ecx, 0x8beb9dc0
movzx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
movsx edx, byte [ebp - 1]
imul edx, dword [ebp - 0x54]
mov byte [ebp - 1], dl
jmp 0x10011968
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
add ecx, eax
mov dword [ebp - 0x4c], ecx
movsx eax, byte [0x1004a093]
cdq
add eax, 0xd882e2c
mov word [0x1004a0cc], ax
jmp 0x10011a4b
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x454], edx
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x454]
or ecx, dword [ebp - 0x450]
jne 0x1001199e
mov dword [ebp - 0x144], 1
jmp 0x100119a8
mov dword [ebp - 0x144], 0
mov edx, dword [0x1004a170]
or edx, dword [0x1004a174]
jne 0x100119cb
mov eax, dword [ebp - 0x34]
not eax
test eax, eax
jne 0x100119cb
mov dword [ebp - 0x148], 1
jmp 0x100119d5
mov dword [ebp - 0x148], 0
mov ecx, dword [ebp - 0x144]
cmp ecx, dword [ebp - 0x148]
jle 0x100119f8
mov edx, dword [0x1004ac78]
xor eax, eax
mov dword [0x1004a118], edx
mov dword [0x1004a11c], eax
jmp 0x10011a4b
mov ecx, 0x2e3ddc
or ecx, 0x70989
je 0x10011a4b
mov edx, dword [0x1004ac78]
xor eax, eax
mov dword [0x1004a118], edx
mov dword [0x1004a11c], eax
mov ecx, dword [ebp - 0x20]
not ecx
movzx edx, word [ebp - 8]
imul edx, dword [ebp - 0x48]
imul ecx, edx
test ecx, ecx
jne 0x10011a38
mov dword [ebp - 0x14c], 1
jmp 0x10011a42
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x90], ecx
movzx edx, word [ebp - 8]
cmp dword [ebp - 0x34], edx
jl 0x10011ba3
cmp dword [ebp - 0x4c], 0
je 0x10011a7b
xor eax, eax
mov dword [ebp - 0x5c], 4
mov dword [ebp - 0x58], eax
jmp 0x10011ba1
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x45c]
or eax, dword [ebp - 0x458]
je 0x10011aad
mov byte [0x1004a092], 0x63
jmp 0x10011ba1
movzx eax, word [0x1004a0cc]
cdq
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], edx
cmp dword [ebp - 0x460], 0x314b1
jl 0x10011b08
jg 0x10011adb
cmp dword [ebp - 0x464], 0xce66f51f
jb 0x10011b08
movsx ecx, word [ebp - 0x10]
sub ecx, dword [ebp - 0x2c]
mov word [ebp - 0x10], cx
movzx eax, word [0x1004a124]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x3c]
movzx eax, word [0x1004a124]
cdq
add eax, ecx
mov word [0x1004a124], ax
jmp 0x10011ba1
movzx edx, word [ebp - 0x28]
not edx
cmp edx, 0x8353
jg 0x10011b22
mov dword [ebp - 0x150], 1
jmp 0x10011b2c
mov dword [ebp - 0x150], 0
movsx eax, byte [0x1004a03f]
cmp eax, dword [ebp - 0x150]
jle 0x10011ba1
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x468], esi
mov edx, dword [ebp - 0x46c]
or edx, dword [ebp - 0x468]
jne 0x10011b7e
xor eax, eax
mov dword [ebp - 0x2f8], 1
mov dword [ebp - 0x2f4], eax
jmp 0x10011b89
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f8], xmm0
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x2f4]
mov dword [0x1004a0d8], ecx
mov dword [0x1004a0dc], edx
jmp 0x10011bb8
movzx eax, byte [0x1004a0ba]
test eax, eax
je 0x10011bb8
mov dword [0x1004a17c], 6
mov ecx, dword [ebp - 0x90]
add ecx, 0x505
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x90]
add edx, 0xc99
mov dword [ebp - 0x620], edx
mov dword [ebp - 0x8c], 0
jmp 0x10011bf7
mov eax, dword [ebp - 0x8c]
add eax, 1
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x2fb
jge 0x10011c99
mov ecx, dword [ebp - 0x20]
cmp dword [0x1004a144], ecx
ja 0x10011c1e
mov dword [ebp - 0x154], 1
jmp 0x10011c28
mov dword [ebp - 0x154], 0
cmp dword [0x1004a144], 0x44
jg 0x10011c3d
mov dword [ebp - 0x158], 1
jmp 0x10011c47
mov dword [ebp - 0x158], 0
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0x158]
jge 0x10011c82
movsx eax, word [ebp - 0x14]
mov ecx, dword [ebp - 0x4c]
add ecx, eax
mov edx, dword [ebp - 0x4c]
or edx, ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
sub eax, 1
sbb ecx, 0
mov dword [0x1004a0d8], eax
mov dword [0x1004a0dc], ecx
mov edx, dword [ebp - 0x3c]
add edx, 1
mov eax, dword [ebp - 0x38]
adc eax, 0
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
jmp 0x10011be8
mov ecx, dword [ebp - 0x90]
add ecx, 0x98
mov dword [ebp - 0x590], ecx
movsx edx, word [ebp - 0x24]
movzx eax, word [ebp - 0x28]
cmp edx, eax
jne 0x10011cc3
mov dword [ebp - 0x15c], 1
jmp 0x10011ccd
mov dword [ebp - 0x15c], 0
movsx ecx, word [ebp - 0x24]
cmp ecx, 5
jne 0x10011ce2
mov dword [ebp - 0x160], 1
jmp 0x10011cec
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x160]
jne 0x10011cfc
jmp 0x10011d6b
mov eax, dword [0x1004a178]
cmp eax, dword [ebp - 0x2c]
jae 0x10011d12
mov dword [ebp - 0x164], 1
jmp 0x10011d1c
mov dword [ebp - 0x164], 0
mov ecx, dword [ebp - 0x20]
cmp dword [0x1004a178], ecx
jb 0x10011d33
mov dword [ebp - 0x168], 1
jmp 0x10011d3d
mov dword [ebp - 0x168], 0
mov edx, dword [ebp - 0x164]
cmp edx, dword [ebp - 0x168]
jge 0x10011d4d
jmp 0x10011d6b
mov eax, dword [str.J64_]
or eax, dword [0x1004a13c]
je 0x10011d6b
movsx ecx, word [ebp - 0x10]
movsx edx, word [0x1004a120]
add ecx, edx
mov word [ebp - 0x10], cx
movsx eax, byte [0x1004a03f]
cdq
push edx
push eax
call fcn.10024090
add esp, 8
mov dword [0x1004a158], eax
cmp dword [0x1004a158], 0
je 0x10011ddc
movzx eax, word [ebp - 8]
cdq
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x474]
cmp eax, dword [0x1004a0d0]
jne 0x10011dcd
mov ecx, dword [ebp - 0x470]
cmp ecx, dword [0x1004a0d4]
jne 0x10011dcd
movsx edx, byte [0x1004a092]
mov eax, dword [0x1004a158]
sub eax, edx
mov dword [0x1004a158], eax
jmp 0x10011dda
mov ecx, dword [0x1004a0d0]
add ecx, 0x46
mov word [ebp - 8], cx
jmp 0x10011e38
mov edx, dword [0x1004a104]
cmp dword [0x1004a110], edx
je 0x10011df6
mov dword [ebp - 0x16c], 1
jmp 0x10011e00
mov dword [ebp - 0x16c], 0
movzx eax, word [ebp - 0x28]
or eax, dword [ebp - 0x16c]
je 0x10011e38
movzx eax, byte [0x1004a0ba]
cdq
mov ecx, eax
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
mov dword [ebp - 0x594], eax
add ecx, edx
movzx eax, byte [0x1004a0ba]
cdq
add eax, ecx
mov byte [0x1004a0ba], al
imul ecx, dword [ebp - 0x3b8], 0x6d17
xor ecx, 0x223959d
mov dword [ebp - 0x340], ecx
movzx edx, word [ebp - 0x28]
cmp edx, dword [0x1004a190]
jae 0x10011e66
mov dword [ebp - 0x170], 1
jmp 0x10011e70
mov dword [ebp - 0x170], 0
movzx eax, word [ebp - 0x28]
cmp eax, 9
jge 0x10011e85
mov dword [ebp - 0x174], 1
jmp 0x10011e8f
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [ebp - 0x174]
jg 0x10011eb5
movzx edx, byte [0x1004a0bc]
imul eax, edx, 0x2f
cdq
mov dword [0x1004a0e8], eax
mov dword [0x1004a0ec], edx
jmp 0x10011ed9
mov eax, 1
imul ecx, eax, 0x8e
mov dl, byte [ebp - 0x24]
mov byte [ecx + 0x102496c0], dl
mov eax, dword [0x1004a110]
cdq
add eax, 0xbd3d5029
mov byte [0x1004a0bc], al
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0
jmp 0x10011eff
mov ecx, dword [ebp - 0x94]
add ecx, 1
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x94], 0x1df
jge 0x100120c3
mov dword [ebp - 0x3bc], 0x104
lea edx, [ebp - 0x3bc]
push edx
lea eax, [ebp - 0x10d8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov byte [ebp - 3], al
movzx ecx, byte [ebp - 2]
test ecx, ecx
je 0x10011f89
movzx edx, word [ebp - 0x28]
test edx, edx
jne 0x10011f89
movzx eax, word [ebp - 8]
cdq
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x47c]
jne 0x10011f73
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x478]
jne 0x10011f73
mov dword [ebp - 0x178], 1
jmp 0x10011f7d
mov dword [ebp - 0x178], 0
movzx edx, byte [ebp - 9]
cmp dword [ebp - 0x178], edx
jl 0x10011fc2
cmp dword [0x1004a158], 0
je 0x10011f9d
movzx eax, byte [0x1004a0ba]
test eax, eax
jne 0x10011fbd
mov eax, dword [ebp - 0x30]
cdq
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
sub ecx, eax
sbb esi, edx
mov dword [0x1004a0f8], ecx
mov dword [0x1004a0fc], esi
jmp 0x100120b6
cmp dword [0x1004a15c], 0
je 0x10011fe0
movsx edx, word [0x1004a100]
sub edx, 0x59582889
mov dword [ebp - 0x30], edx
jmp 0x100120b6
mov ecx, dword [0x1004a160]
mov esi, dword [0x1004a164]
movzx eax, word [ebp - 8]
cdq
mov dword [ebp - 0x484], ecx
mov dword [ebp - 0x480], esi
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], edx
mov edx, dword [ebp - 0x480]
cmp edx, dword [ebp - 0x488]
jb 0x10012033
ja 0x10012027
mov eax, dword [ebp - 0x484]
cmp eax, dword [ebp - 0x48c]
jbe 0x10012033
mov dword [ebp - 0x17c], 1
jmp 0x1001203d
mov dword [ebp - 0x17c], 0
movzx ecx, byte [0x1004a0ba]
cmp ecx, dword [ebp - 0x17c]
jg 0x10012057
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
jmp 0x100120b6
movzx eax, word [ebp - 8]
test eax, eax
je 0x100120b6
mov byte [0x1004a092], 1
movsx ecx, word [0x1004a100]
test ecx, ecx
je 0x1001208a
mov edx, dword [0x1004a170]
mov eax, dword [0x1004a174]
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2d4], eax
jmp 0x1001209e
movsx eax, word [0x1004a100]
cdq
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], edx
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x2d4]
mov dword [0x1004a130], ecx
mov dword [0x1004a134], edx
mov al, byte [ebp - 2]
add al, 1
mov byte [ebp - 2], al
jmp 0x10011ef0
mov ecx, dword [ebp - 0x98]
add ecx, 0x66
mov dword [ebp - 0x334], ecx
mov edx, dword [0x1004a17c]
xor eax, eax
push eax
push edx
push 0
push 0xf7
push 0
push 0x6b
movsx eax, word [0x1004a120]
cdq
push edx
push eax
mov eax, dword [ebp - 0x2c]
cdq
push edx
push eax
call fcn.100243a0
add esp, 0x28
mov dword [0x1004a180], eax
mov dword [0x1004a184], edx
cmp dword [ebp - 0x30], 0
je 0x1001213f
push 0x85107
push 0xa5aede3c
mov ecx, dword [0x1004a11c]
push ecx
mov edx, dword [0x1004a118]
push edx
call fcn.1002e960
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov byte [0x1004a03f], 0xe9
jmp 0x100121d4
movsx eax, byte [0x1004a03e]
movzx ecx, word [0x1004a0f0]
cmp eax, ecx
je 0x10012165
xor edx, edx
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2fc], edx
jmp 0x10012170
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
mov eax, dword [0x1004a168]
mov ecx, dword [0x1004a16c]
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], ecx
mov edx, dword [ebp - 0x490]
cmp edx, dword [ebp - 0x2fc]
jl 0x100121b1
jg 0x100121a5
mov eax, dword [ebp - 0x494]
cmp eax, dword [ebp - 0x300]
jb 0x100121b1
mov dword [ebp - 0x180], 1
jmp 0x100121bb
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x180]
not ecx
test ecx, ecx
je 0x100121d4
movsx edx, byte [0x1004a093]
xor edx, dword [ebp - 0x48]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x98]
add eax, 0x6b9
mov dword [ebp - 0x598], eax
movzx ecx, byte [0x1004a0bc]
mov edx, dword [0x1004a154]
add edx, ecx
mov eax, dword [0x1004a154]
and eax, edx
mov dword [0x1004a154], eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x5e69
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0x334]
or eax, ecx
mov edx, 0x5fb9
sub edx, eax
mov dword [ebp - 0x344], edx
xor eax, eax
mov byte [ebp - 0x5e], al
push 0x104
lea ecx, [ebp - 0x1b00]
push ecx
lea edx, [ebp - 0x6ea]
push edx
lea ecx, [ebp - 0x5e]
call fcn.10001ad0
mov ecx, eax
call fcn.10022460
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x100125ab
lea eax, [ebp - 0x2118]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
movsx eax, word [ebp - 0x14]
cdq
sub eax, ecx
mov word [ebp - 0x14], ax
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x48]
je 0x100122ca
mov dword [ebp - 0x184], 1
jmp 0x100122d4
mov dword [ebp - 0x184], 0
cmp dword [ebp - 0x48], 0x61
je 0x100122e6
mov dword [ebp - 0x188], 1
jmp 0x100122f0
mov dword [ebp - 0x188], 0
mov ecx, dword [ebp - 0x184]
cmp ecx, dword [ebp - 0x188]
jl 0x1001230b
movzx edx, byte [ebp - 9]
sar edx, 6
mov dword [0x1004a14c], edx
mov eax, dword [ebp - 0x338]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x59c], eax
mov dword [ebp - 0x33c], 0x104
lea ecx, [ebp - 0x33c]
push ecx
lea edx, [ebp - 0x2320]
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov word [ebp - 0x10], ax
mov eax, dword [ebp - 0x340]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
push 0xcc
movzx cx, byte [0x1004a0ba]
movzx edx, cx
push edx
push 0
push 0x27
push 0xb1
movsx ax, byte [ebp - 1]
movzx ecx, ax
push ecx
movzx edx, word [0x1004a150]
push edx
call fcn.10024c40
add esp, 0x1c
movzx eax, ax
mov dword [0x1004a0c8], eax
cmp dword [ebp - 0x30], 0
je 0x100123a6
movsx ecx, byte [ebp - 3]
test ecx, ecx
je 0x100123a6
mov dword [ebp - 0x18c], 1
jmp 0x100123b0
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x18c]
not edx
test edx, edx
jne 0x100123da
movsx eax, byte [ebp - 1]
mov ecx, dword [0x1004a128]
sub ecx, eax
not ecx
test ecx, ecx
jne 0x100123da
mov dword [ebp - 0x190], 0
jmp 0x100123e4
mov dword [ebp - 0x190], 1
mov edx, dword [ebp - 0x190]
not edx
test edx, edx
je 0x10012429
movsx eax, byte [0x1004a03e]
test eax, eax
jne 0x10012427
movsx ecx, word [0x1004a120]
xor ecx, 0xec617e06
mov dword [ebp - 0x2c], ecx
movzx eax, byte [ebp - 2]
cdq
mov ecx, 8
imul ecx, ecx, 0x1eb
mov dword [ecx + 0x10089040], eax
mov dword [ecx + 0x10089044], edx
jmp 0x10012482
movsx edx, word [0x1004a120]
movsx eax, word [ebp - 0x14]
cmp edx, eax
je 0x10012444
mov dword [ebp - 0x194], 1
jmp 0x1001244e
mov dword [ebp - 0x194], 0
cmp dword [ebp - 0x194], 0x4e5dd200
jge 0x10012482
movzx eax, word [0x1004a124]
cdq
push edx
push eax
mov ecx, dword [0x1004a11c]
push ecx
mov edx, dword [0x1004a118]
push edx
call fcn.1002e960
mov dword [0x1004a118], eax
mov dword [0x1004a11c], edx
mov eax, dword [ebp - 0xa0]
add eax, 0x342
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0xa4]
or ecx, 0x1b3
mov edx, dword [ebp - 0xa4]
and edx, dword [ebp - 0xa4]
add ecx, edx
cmp dword [ebp - 0x344], ecx
je 0x100125ab
mov dword [0x1004a14c], 0x40b1ea9b
push 0x56
call fcn.10024660
add esp, 4
mov word [ebp - 0x14], ax
movsx eax, word [ebp - 0x14]
test eax, eax
je 0x10012505
mov ecx, 1
imul edx, ecx, 0x3d
movzx eax, byte [edx + 0x102496c0]
movsx ecx, word [ebp - 0x24]
sub ecx, eax
mov word [ebp - 0x24], cx
movsx edx, word [ebp - 0x10]
sub edx, 0x2398dab7
mov word [ebp - 0x24], dx
jmp 0x100125a4
movsx eax, byte [0x1004a03e]
test eax, eax
je 0x1001251f
movsx ecx, word [ebp - 0x10]
imul edx, ecx, 0x1a
mov byte [ebp - 3], dl
jmp 0x100125a4
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
jne 0x10012539
cmp dword [ebp - 0x50], 0
je 0x10012539
mov dword [ebp - 0x198], 0
jmp 0x10012543
mov dword [ebp - 0x198], 1
cmp dword [0x1004a110], 0
jne 0x10012558
mov dword [ebp - 0x19c], 1
jmp 0x10012562
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x198]
not ecx
cmp ecx, dword [ebp - 0x19c]
jl 0x100125a4
mov edx, 1
imul eax, edx, 0x40db
mov cl, byte [ebp - 0x2c]
mov byte [eax + 0x100700e8], cl
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x3c]
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
mov eax, dword [ebp - 0x50]
cdq
add eax, ecx
mov dword [ebp - 0x50], eax
xor eax, eax
jmp 0x10014f61
xor edx, edx
mov byte [ebp - 0x5f], dl
push 0x104
lea eax, [ebp - 0x18f8]
push eax
lea ecx, [ebp - 0x74a]
push ecx
lea ecx, [ebp - 0x5f]
call fcn.10001bf0
mov ecx, eax
call fcn.10022160
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x10012810
mov byte [ebp - 3], 2
movzx edx, byte [0x1004a056]
mov eax, dword [ebp - 0x2c]
sub eax, edx
mov dword [ebp - 0x2c], eax
mov cl, byte [ebp - 3]
mov byte [ebp - 0xa8], cl
cmp byte [ebp - 0xa8], 0
je 0x10012621
cmp byte [ebp - 0xa8], 1
je 0x10012676
cmp byte [ebp - 0xa8], 2
je 0x100126a1
jmp 0x100126f3
mov edx, 1
imul eax, edx, 0x405d
mov cl, byte [ebp - 3]
mov byte [eax + 0x1018b0c0], cl
movzx edx, byte [0x1004a0bb]
test edx, edx
jne 0x1001264c
mov dword [ebp - 0x1a0], 1
jmp 0x10012656
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
add eax, 0xf507
imul eax, dword [0x1004a128]
cdq
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
jmp 0x100126f3
cmp dword [ebp - 0x50], 0
je 0x10012687
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1a4], eax
jmp 0x10012693
mov ecx, dword [0x1004a128]
mov dword [ebp - 0x1a4], ecx
mov dl, byte [ebp - 0x1a4]
mov byte [0x1004a0ba], dl
jmp 0x100126f3
mov eax, dword [0x1004a180]
mov ecx, dword [0x1004a184]
push 0
push 0x87
push ecx
push eax
call fcn.1002e960
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x10]
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x49c], ecx
mov dword [ebp - 0x498], esi
mov edx, dword [ebp - 0x49c]
or edx, dword [ebp - 0x498]
jne 0x100126e7
mov byte [ebp - 0x5d], 1
jmp 0x100126eb
mov byte [ebp - 0x5d], 0
mov al, byte [ebp - 0x5d]
mov byte [0x1004a0ba], al
push 0x104
lea ecx, [ebp - 0x11dc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jg 0x1001271a
mov dword [ebp - 0x1a8], 1
jmp 0x10012724
mov dword [ebp - 0x1a8], 0
cmp dword [ebp - 0x30], 0x38
jg 0x10012736
mov dword [ebp - 0x1ac], 1
jmp 0x10012740
mov dword [ebp - 0x1ac], 0
mov edx, dword [ebp - 0x1a8]
cmp edx, dword [ebp - 0x1ac]
jg 0x100127ac
movsx eax, word [0x1004a100]
test eax, eax
je 0x10012778
movzx ecx, word [0x1004a0f0]
movzx edx, byte [ebp - 2]
imul ecx, edx
movzx eax, word [0x1004a0f0]
sub eax, ecx
mov word [0x1004a0f0], ax
jmp 0x100127aa
movsx ecx, word [ebp - 0x10]
sub ecx, dword [ebp - 0x20]
not ecx
cmp dword [0x1004a15c], ecx
jne 0x100127aa
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
sub edx, 0xbed1437e
sbb eax, 0x49952
mov dword [0x1004a108], edx
mov dword [0x1004a10c], eax
jmp 0x10012809
cmp dword [0x1004a110], 0
je 0x100127c7
imul ecx, dword [0x1004a15c], 0x75
movsx edx, byte [ebp - 1]
sub edx, ecx
mov byte [ebp - 1], dl
jmp 0x10012809
cmp dword [ebp - 0x4c], 0
je 0x100127db
mov eax, dword [ebp - 0x3c]
add eax, 0x17c9
mov word [ebp - 0x10], ax
jmp 0x10012809
cmp dword [0x1004a15c], 0
je 0x10012809
movsx ecx, word [ebp - 0x10]
imul eax, ecx, 0x13d2513
cdq
mov dword [0x1004a130], eax
mov dword [0x1004a134], edx
mov edx, dword [0x1004a14c]
sub edx, dword [ebp - 0x44]
mov dword [0x1004a14c], edx
xor eax, eax
jmp 0x10014f61
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b0]
lea edx, [eax + ecx + 0x275]
mov eax, dword [ebp - 0x1b4]
xor eax, 0x2ba
mov ecx, dword [ebp - 0x1b4]
add ecx, eax
cmp edx, ecx
je 0x10012e36
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
mov dword [ebp - 0x4a4], edx
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x4a4]
or ecx, dword [ebp - 0x4a0]
je 0x1001287c
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x304], eax
jmp 0x10012890
movzx eax, byte [0x1004a0bc]
cdq
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov cx, word [ebp - 0x308]
mov word [ebp - 0x1c], cx
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
not edx
not eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov dword [0x1004a168], 2
mov dword [0x1004a16c], ecx
mov edx, dword [ebp - 0x20]
xor eax, eax
push 0xc7a83
push 0x37811f53
push eax
push edx
call fcn.1002e960
mov dword [0x1004a148], eax
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe8]
or eax, dword [ebp - 0xe4]
je 0x10012929
cmp dword [ebp - 0xe8], 1
jne 0x10012915
cmp dword [ebp - 0xe4], 0
je 0x10012954
cmp dword [ebp - 0xe8], 2
jne 0x10012927
cmp dword [ebp - 0xe4], 0
je 0x1001296b
jmp 0x10012982
movzx ecx, byte [0x1004a0bb]
add ecx, dword [0x1004a148]
movzx edx, byte [0x1004a0bb]
sub edx, ecx
mov byte [0x1004a0bb], dl
mov eax, dword [0x1004a0c8]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
jmp 0x10012982
mov edx, dword [0x1004a190]
add edx, 0x18d
movsx eax, byte [ebp - 1]
sub eax, edx
mov byte [ebp - 1], al
jmp 0x10012982
mov ecx, dword [ebp - 0x20]
sub ecx, 0xdf3c
xor edx, edx
mov dword [0x1004a130], ecx
mov dword [0x1004a134], edx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x48]
jb 0x100129a1
mov dword [ebp - 0x1b8], 1
jmp 0x100129ab
mov dword [ebp - 0x1b8], 0
cmp dword [ebp - 0x2c], 0x58
jl 0x100129bd
mov dword [ebp - 0x1bc], 1
jmp 0x100129c7
mov dword [ebp - 0x1bc], 0
mov edx, dword [ebp - 0x1b8]
cmp edx, dword [ebp - 0x1bc]
jg 0x10012a04
mov eax, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov cl, 6
call fcn.1002e9a0
mov word [0x1004a100], ax
mov eax, dword [0x1004ac78]
xor ecx, ecx
mov dword [0x1004a188], eax
mov dword [0x1004a18c], ecx
jmp 0x10012a8a
movzx edx, word [0x1004a150]
movzx eax, byte [ebp - 9]
add edx, eax
movzx ecx, word [0x1004a150]
not ecx
cmp edx, ecx
jge 0x10012a2d
movzx edx, byte [ebp - 2]
sub edx, 0x3b08b5e2
mov dword [ebp - 0x48], edx
jmp 0x10012a8a
cmp dword [0x1004a110], 0
jne 0x10012a42
mov dword [ebp - 0x1c0], 1
jmp 0x10012a4c
mov dword [ebp - 0x1c0], 0
movzx eax, word [ebp - 0x28]
cmp dword [ebp - 0x1c0], eax
je 0x10012a8a
mov ecx, dword [ebp - 0x3c]
sub ecx, 0xd53f
mov edx, dword [ebp - 0x54]
add edx, ecx
mov dword [ebp - 0x54], edx
movzx eax, word [ebp - 0x18]
test eax, eax
jne 0x10012a7c
mov ecx, 1
mov word [ebp - 0x6a], cx
jmp 0x10012a82
xor edx, edx
mov word [ebp - 0x6a], dx
mov ax, word [ebp - 0x6a]
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0xac]
add ecx, 0x8bda
mov dword [ebp - 0x5a4], ecx
movzx edx, word [ebp - 0x18]
movzx eax, byte [0x1004a056]
cmp edx, eax
je 0x10012b34
movzx ecx, byte [ebp - 9]
test ecx, ecx
je 0x10012b10
movsx edx, byte [0x1004a03e]
test edx, edx
jne 0x10012ace
mov dword [ebp - 0x1c4], 1
jmp 0x10012ad8
mov dword [ebp - 0x1c4], 0
movzx eax, word [ebp - 0x28]
sub eax, 0x6ca7ac55
and eax, dword [ebp - 0x1c4]
movzx ecx, byte [ebp - 9]
movzx edx, byte [0x1004a0bb]
imul ecx, edx
imul eax, ecx
not eax
mov word [ebp - 0x14], ax
mov eax, dword [0x1004a14c]
shl eax, 3
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
jmp 0x10012b32
mov edx, dword [0x1004a0d0]
or edx, dword [0x1004a0d4]
je 0x10012b32
movzx eax, word [0x1004a150]
imul ecx, eax, 0xd5caad34
mov word [0x1004a124], cx
jmp 0x10012b5f
mov eax, dword [ebp - 0x34]
cdq
add eax, dword [ebp - 0x44]
adc edx, dword [ebp - 0x40]
add eax, dword [ebp - 0x44]
adc edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, 0x851ea
mov dword [0x1004a0f8], 0xe4b8d720
mov dword [0x1004a0fc], edx
mov eax, dword [ebp - 0xac]
add eax, 0x45
mov dword [ebp - 0x5a8], eax
movzx ecx, byte [0x1004a0bc]
shl ecx, 6
mov dword [ebp - 0x20], ecx
mov eax, dword [0x1004a15c]
cdq
sub eax, 0xc4a7767a
mov edx, dword [ebp - 0x20]
or edx, eax
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xac]
add eax, 0x20
mov dword [ebp - 0x1c8], eax
mov ecx, dword [0x1004a0e0]
mov edx, dword [0x1004a0e4]
mov dword [ebp - 0x5ac], edx
sub ecx, 0xd7
mov dword [0x1004a15c], ecx
movzx eax, word [ebp - 8]
movzx ecx, byte [ebp - 2]
and eax, ecx
movzx edx, word [ebp - 8]
add edx, eax
mov word [ebp - 8], dx
mov eax, dword [ebp - 0x1c8]
add eax, dword [ebp - 0x1c8]
mov ecx, 0x1fe
sub ecx, eax
mov dword [ebp - 0x34c], ecx
xor edx, edx
mov byte [ebp - 0x60], dl
push 0x104
lea eax, [ebp - 0x9bc]
push eax
lea ecx, [ebp - 0x706]
push ecx
lea ecx, [ebp - 0x60]
call fcn.10001fc0
mov ecx, eax
call fcn.10022560
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x10012e36
mov edx, 1
mov word [ebp - 0x14], dx
mov byte [0x1004a0ba], 0x12
movzx eax, byte [0x1004a0ba]
mov ecx, dword [ebp - 0x30]
add ecx, 1
cmp eax, ecx
jne 0x10012c7e
cmp dword [0x1004a118], 1
jne 0x10012c7e
cmp dword [0x1004a11c], 0
jne 0x10012c7e
push 0
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov byte [0x1004a0bb], al
jmp 0x10012c7e
mov byte [0x1004a0ba], 0x12
mov edx, dword [str.J64_]
sub edx, 5
mov eax, dword [0x1004a13c]
sbb eax, 0
add edx, dword [ebp - 0x3c]
adc eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
movsx ecx, word [0x1004a120]
imul edx, ecx, 0xec
mov dword [ebp - 0x20], edx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], 5
mov ecx, 8
imul edx, ecx, 0x973d
mov eax, dword [str.J64_]
mov ecx, dword [0x1004a13c]
mov dword [edx + 0x100e3178], eax
mov dword [edx + 0x100e317c], ecx
movsx edx, byte [0x1004a03e]
cmp edx, dword [0x1004a144]
jg 0x10012d04
mov dword [ebp - 0x1cc], 1
jmp 0x10012d0e
mov dword [ebp - 0x1cc], 0
movsx eax, byte [0x1004a03e]
cmp eax, 0x56
jg 0x10012d26
mov dword [ebp - 0x1d0], 1
jmp 0x10012d30
mov dword [ebp - 0x1d0], 0
mov ecx, dword [ebp - 0x1cc]
cmp ecx, dword [ebp - 0x1d0]
jle 0x10012d40
jmp 0x10012d7f
movsx edx, byte [0x1004a017]
not edx
test edx, edx
je 0x10012d7f
movzx eax, byte [0x1004a0bc]
test eax, eax
je 0x10012d7f
mov ecx, dword [0x1004ac78]
xor edx, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
movzx eax, byte [0x1004a056]
sub eax, dword [ebp - 0x2c]
movzx ecx, byte [0x1004a056]
add ecx, eax
mov byte [0x1004a056], cl
mov edx, dword [ebp - 0xb0]
add edx, 1
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 0xfdd
jl 0x10012ce9
mov eax, dword [ebp - 0xb4]
add eax, 0x1f3
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x2b8
mov dword [ebp - 0x5b0], ecx
mov eax, dword [ebp - 0xb4]
add eax, 0x283
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [ebp - 0x348]
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x34c]
add eax, dword [ebp - 0xb8]
lea edx, [edx + eax - 0x30f]
cmp ecx, edx
je 0x10012e36
push 0x1003b638
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x5b4], eax
push 0x104
lea ecx, [ebp - 0x12e0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
xor edx, edx
mov dword [0x1004a0e0], eax
mov dword [0x1004a0e4], edx
xor eax, eax
jmp 0x10014f61
mov ecx, 9
mov esi, str.No_user_interface
lea edi, [ebp - 0x6a8]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x6a8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x4c], eax
movzx ecx, byte [0x1004a100]
push ecx
push 0x12
movzx edx, byte [ebp - 9]
push edx
movzx eax, byte [0x1004a110]
push eax
call fcn.10024ee0
add esp, 0x10
movzx ecx, al
mov dword [0x1004a110], ecx
movsx edx, word [ebp - 0x14]
test edx, edx
jne 0x10012e96
mov dword [ebp - 0x1d8], 1
jmp 0x10012ea0
mov dword [ebp - 0x1d8], 0
movzx eax, word [ebp - 8]
test eax, eax
jne 0x10012eb4
mov dword [ebp - 0x1d4], 1
jmp 0x10012ebe
mov dword [ebp - 0x1d4], 0
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x1d4]
je 0x10012ed5
mov dword [ebp - 0x1dc], 1
jmp 0x10012edf
mov dword [ebp - 0x1dc], 0
movzx edx, byte [ebp - 2]
imul edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0x1dc]
jl 0x10012f77
cmp dword [0x1004a15c], 0
jne 0x10012f0b
mov dword [ebp - 0x1e0], 1
jmp 0x10012f15
mov dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x1e0]
cmp eax, dword [0x1004a15c]
je 0x10012f2f
mov dword [ebp - 0x1ec], 1
jmp 0x10012f39
mov dword [ebp - 0x1ec], 0
cmp dword [ebp - 0x34], 0
jne 0x10012f4b
mov dword [ebp - 0x1e4], 1
jmp 0x10012f55
mov dword [ebp - 0x1e4], 0
movsx ecx, word [ebp - 0x10]
cmp dword [ebp - 0x1e4], ecx
jne 0x10012f6d
mov dword [ebp - 0x1e8], 1
jmp 0x10012f77
mov dword [ebp - 0x1e8], 0
push 0
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov dword [ebp - 0x2c], eax
push 0x104
lea eax, [ebp - 0x14e8]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x100136d8
mov dword [ebp - 0x34], 1
movzx ecx, byte [ebp - 9]
not ecx
movsx edx, word [ebp - 0x14]
sub edx, dword [ebp - 0x48]
sub ecx, edx
movzx eax, word [0x1004a0cc]
not eax
add ecx, eax
mov dword [0x1004a0c8], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1f0], 0
je 0x10012fe7
cmp dword [ebp - 0x1f0], 1
je 0x10013001
jmp 0x1001301a
movsx edx, word [ebp - 0x10]
movzx eax, word [0x1004a0cc]
imul edx, eax
mov ecx, 0x6e
sub ecx, edx
mov byte [ebp - 1], cl
jmp 0x1001301a
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5b8], eax
sub edx, 0xf7
mov word [0x1004a120], dx
movzx ecx, word [ebp - 0x18]
movsx edx, byte [ebp - 3]
imul ecx, edx
test ecx, ecx
jne 0x10013035
mov dword [ebp - 0x1f8], 1
jmp 0x1001303f
mov dword [ebp - 0x1f8], 0
movsx eax, byte [0x1004a093]
test eax, eax
jne 0x10013056
mov dword [ebp - 0x1f4], 1
jmp 0x10013060
mov dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x1f4]
imul eax, dword [ebp - 0x30]
not eax
add eax, dword [ebp - 0x1f8]
cdq
mov dword [0x1004a188], eax
mov dword [0x1004a18c], edx
mov ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0x48]
test ecx, ecx
jne 0x10013095
mov dword [ebp - 0x1fc], 1
jmp 0x1001309f
mov dword [ebp - 0x1fc], 0
mov edx, dword [0x1004a0c8]
not edx
movzx eax, word [ebp - 0x18]
not eax
add edx, eax
sub edx, dword [ebp - 0x1fc]
sub edx, 0xe6aa303
mov dword [0x1004a144], edx
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xbc], ecx
mov dword [0x1004a158], 0
movzx eax, word [0x1004a150]
cdq
push 0xfcdfe
push 0xe1d79083
push edx
push eax
call fcn.1002e960
mov ecx, dword [str.J64_]
sub ecx, eax
mov eax, dword [0x1004a13c]
sbb eax, edx
mov dword [str.J64_], ecx
mov dword [0x1004a13c], eax
mov ecx, 1
imul edx, ecx, 0x37
movzx ax, byte [edx + 0x1004ac80]
mov word [ebp - 8], ax
mov ecx, dword [0x1004a158]
mov dword [ebp - 0x350], ecx
cmp dword [ebp - 0x350], 0
je 0x10013135
jmp 0x10013153
push 0
push 0x637c
mov edx, dword [0x1004a13c]
push edx
mov eax, dword [str.J64_]
push eax
call fcn.1002e960
mov dword [0x1004a15c], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x37f
mov dword [ebp - 0xc0], ecx
movzx edx, word [ebp - 0x18]
sub edx, dword [ebp - 0x20]
jne 0x1001317a
mov dword [ebp - 0x200], 1
jmp 0x10013184
mov dword [ebp - 0x200], 0
movzx eax, word [ebp - 0x18]
imul eax, dword [ebp - 0x34]
test eax, eax
jne 0x1001319c
mov dword [ebp - 0x204], 1
jmp 0x100131a6
mov dword [ebp - 0x204], 0
movzx ecx, word [0x1004a124]
movsx edx, word [ebp - 0x24]
add edx, dword [ebp - 0x200]
add edx, ecx
xor eax, eax
sub eax, dword [ebp - 0x204]
add edx, eax
mov word [ebp - 0x18], dx
mov ecx, dword [ebp - 0xbc]
add ecx, 0x300
mov dword [ebp - 0x5bc], ecx
push 0
push 0
movzx edx, byte [0x1004a03e]
push edx
movzx eax, byte [ebp - 0x10]
push eax
movzx ecx, byte [0x1004a056]
push ecx
call fcn.100248f0
add esp, 0x14
movsx dx, al
mov word [0x1004a150], dx
movzx eax, word [0x1004a150]
test eax, eax
je 0x1001348e
movzx ecx, word [ebp - 8]
movzx edx, word [ebp - 0x18]
not edx
cmp ecx, edx
jle 0x1001322e
mov dword [ebp - 0x208], 1
jmp 0x10013238
mov dword [ebp - 0x208], 0
movsx eax, word [0x1004a100]
movzx ecx, byte [0x1004a0ba]
cmp eax, ecx
jg 0x10013256
mov dword [ebp - 0x20c], 1
jmp 0x10013260
mov dword [ebp - 0x20c], 0
mov edx, dword [ebp - 0x208]
not edx
cmp edx, dword [ebp - 0x20c]
je 0x1001327c
mov dword [ebp - 0x210], 1
jmp 0x10013286
mov dword [ebp - 0x210], 0
movsx eax, word [ebp - 0x10]
cmp eax, dword [ebp - 0x210]
jle 0x100132c0
mov ecx, dword [0x1004a0c8]
add ecx, 0xc4db
xor edx, edx
add ecx, dword [ebp - 0x44]
adc edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
movsx eax, word [ebp - 0x10]
movsx ecx, byte [ebp - 1]
add eax, ecx
mov dword [0x1004a110], eax
jmp 0x1001348c
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
movsx eax, byte [0x1004a092]
cdq
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4a8], esi
mov dword [ebp - 0x4b4], eax
mov dword [ebp - 0x4b0], edx
mov edx, dword [ebp - 0x4ac]
cmp edx, dword [ebp - 0x4b4]
jne 0x10013308
mov eax, dword [ebp - 0x4a8]
cmp eax, dword [ebp - 0x4b0]
je 0x10013314
mov dword [ebp - 0x214], 1
jmp 0x1001331e
mov dword [ebp - 0x214], 0
cmp dword [ebp - 0x2c], 0
je 0x10013338
movzx ecx, word [ebp - 8]
test ecx, ecx
je 0x10013338
mov dword [ebp - 0x218], 1
jmp 0x10013342
mov dword [ebp - 0x218], 0
mov edx, dword [ebp - 0x214]
cmp edx, dword [ebp - 0x218]
jne 0x10013365
movsx eax, byte [str.address_family_not]
imul ecx, eax, 0x76a1
mov dword [ebp - 0x30], ecx
jmp 0x1001348c
cmp dword [0x1004a144], 0
je 0x1001342c
movzx eax, word [0x1004a0cc]
cdq
add eax, dword [0x1004a118]
adc edx, dword [0x1004a11c]
add eax, dword [0x1004a118]
adc edx, dword [0x1004a11c]
mov dword [0x1004a118], eax
mov dword [0x1004a11c], edx
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [str.J64_]
sub ecx, eax
mov esi, dword [0x1004a13c]
sbb esi, edx
mov eax, dword [0x1004a140]
cdq
add eax, dword [0x1004a0d0]
adc edx, dword [0x1004a0d4]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 0x4b8], esi
mov edx, dword [ebp - 0x4bc]
or edx, dword [ebp - 0x4b8]
jne 0x100133f6
xor eax, eax
mov dword [ebp - 0x310], 1
mov dword [ebp - 0x30c], eax
jmp 0x10013401
xorps xmm0, xmm0
movlpd qword [ebp - 0x310], xmm0
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [0x1004a164]
sub eax, dword [0x1004a160]
sbb edx, ecx
add eax, dword [ebp - 0x310]
adc edx, dword [ebp - 0x30c]
mov dword [0x1004a170], eax
mov dword [0x1004a174], edx
jmp 0x1001348c
movsx edx, word [ebp - 0x24]
cmp edx, dword [ebp - 0x50]
je 0x1001348c
mov eax, dword [ebp - 0x2c]
cdq
push 0x574ea
push 0x910f948f
push edx
push eax
call fcn.1002e960
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
push 0
push 0x56
push ecx
push eax
call fcn.1002e960
mov edx, dword [0x1004a0c0]
mov ecx, dword [0x1004a0c4]
mov dword [ebp - 0x5c0], ecx
sub edx, eax
movzx eax, word [ebp - 8]
movsx ecx, word [0x1004a100]
mov esi, dword [0x1004a158]
sub esi, ecx
add eax, esi
add edx, eax
mov dword [ebp - 0x30], edx
jmp 0x100134ad
push 0
push 0xfceb7f6f
mov edx, dword [0x1004a11c]
push edx
mov eax, dword [0x1004a118]
push eax
call fcn.1002e960
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0xbc]
add ecx, 0xa4
mov dword [ebp - 0x5c4], ecx
mov edx, 0x200
sub edx, dword [ebp - 0xc0]
or edx, 0x3dd
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xc0]
sub eax, 0x99a34
cmp edx, eax
je 0x100136d8
movzx ecx, word [0x1004a0f0]
push 0
push str.comdlg32
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov byte [0x1004a092], al
movsx edx, byte [0x1004a092]
test edx, edx
jne 0x100136b5
xor eax, eax
mov dword [0x1004a118], 1
mov dword [0x1004a11c], eax
movzx ecx, word [0x1004a0f0]
mov edx, 4
imul eax, edx, 0x2e
mov dword [eax + 0x101913d0], ecx
cmp dword [ebp - 0x20], 0
jne 0x1001354b
mov dword [ebp - 0x21c], 1
jmp 0x10013555
mov dword [ebp - 0x21c], 0
mov ecx, dword [0x1004a148]
not ecx
mov eax, dword [ebp - 0x21c]
sub eax, ecx
not eax
cdq
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [0x1004a13c]
push ecx
mov edx, dword [str.J64_]
push edx
call fcn.1002e960
push edx
push eax
push edi
push esi
call fcn.1002e960
mov word [0x1004a0f0], ax
mov eax, dword [0x1004a118]
mov ecx, dword [0x1004a11c]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], ecx
mov edx, dword [ebp - 0x2e0]
or edx, dword [ebp - 0x2dc]
je 0x100135d2
cmp dword [ebp - 0x2e0], 1
jne 0x100135cd
cmp dword [ebp - 0x2dc], 0
je 0x100135f2
jmp 0x100136b3
mov eax, dword [ebp - 0x4c]
cdq
push 0x29859
push 0xe08b33c7
push edx
push eax
call fcn.1002e960
mov word [0x1004a150], ax
jmp 0x100136b3
cmp dword [ebp - 0x30], 0
jne 0x10013604
mov dword [ebp - 0x220], 1
jmp 0x1001360e
mov dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x50]
jne 0x10013622
mov dword [ebp - 0x224], 1
jmp 0x1001362c
mov dword [ebp - 0x224], 0
mov ecx, dword [0x1004a154]
not ecx
xor edx, edx
add ecx, 0xc2ec7428
adc edx, 0x7d3bf
mov dword [ebp - 0x4c4], ecx
mov dword [ebp - 0x4c0], edx
mov eax, dword [ebp - 0x4c4]
or eax, dword [ebp - 0x4c0]
jne 0x10013668
mov dword [ebp - 0x228], 1
jmp 0x10013672
mov dword [ebp - 0x228], 0
mov ecx, dword [ebp - 0x54]
imul ecx, dword [ebp - 0x220]
xor edx, edx
mov eax, dword [0x1004a0d8]
mov esi, dword [0x1004a0dc]
push esi
push eax
push edx
push ecx
call fcn.1002e960
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x228]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov dword [0x1004a158], eax
jmp 0x100136d1
xor edx, edx
mov dword [ebp - 0x44], 0xbfd9cba9
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp - 2]
xor eax, 0x93
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
xor eax, eax
jmp 0x10014f61
xor eax, eax
mov byte [ebp - 0x61], al
push 0
push 0
lea ecx, [ebp - 0x6bc]
push ecx
lea ecx, [ebp - 0x61]
call fcn.10002100
mov ecx, eax
call fcn.10021ee0
push eax
lea edx, [ebp - 0x14e8]
push edx
lea eax, [ebp - 0x16f0]
push eax
call fcn.100029c0
add esp, 0x14
xor ecx, ecx
mov byte [ebp - 0x62], cl
push 0
push 0
lea edx, [ebp - 0x722]
push edx
lea ecx, [ebp - 0x62]
call fcn.10002200
mov ecx, eax
call fcn.10022560
push eax
lea eax, [ebp - 0x16f0]
push eax
lea ecx, [ebp - 0xdcc]
push ecx
call fcn.100029c0
add esp, 0x14
lea edx, [ebp - 0x2528]
push edx
push 0
push 0x1003b67c
push 0x1003b684
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov byte [ebp - 1], al
movsx eax, byte [ebp - 1]
test eax, eax
je 0x100137b6
mov dword [ebp - 0xc4], 0
jmp 0x10013783
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0x364
jge 0x100137b4
mov dl, byte [0x1004ac78]
mov byte [ebp - 3], dl
mov eax, dword [0x1004a108]
add eax, 0x55
mov byte [ebp - 3], al
mov cl, byte [0x1004a03e]
add cl, 1
mov byte [0x1004a03e], cl
jmp 0x10013774
jmp 0x100137de
mov edx, 1
test edx, edx
je 0x100137de
mov eax, dword [0x1004a178]
sub eax, 0x3857691c
mov ecx, dword [ebp - 0x34]
add ecx, eax
mov dword [ebp - 0x34], ecx
movzx edx, byte [ebp - 2]
sub edx, 0x4afd
mov dword [ebp - 0x4c], edx
push 0
lea eax, [ebp - 0x9bc]
push eax
lea ecx, [ebp - 0x18f8]
push ecx
lea edx, [ebp - 0x1b00]
push edx
lea eax, [ebp - 0xbc4]
push eax
call fcn.100029c0
add esp, 0x14
mov ecx, dword [ebp - 0x354]
imul ecx, dword [ebp - 0x358]
mov edx, dword [ebp - 0x22c]
xor edx, 0x197
sub ecx, edx
mov eax, dword [ebp - 0x22c]
add eax, 0x3a2
cmp ecx, eax
je 0x10014f36
push 0xe
push 0
push 0
movzx ecx, byte [0x1004a120]
push ecx
call fcn.10024ee0
add esp, 0x10
movzx eax, al
cdq
mov dword [0x1004a118], eax
mov dword [0x1004a11c], edx
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
mov eax, dword [0x1004a140]
cdq
mov dword [ebp - 0x4cc], ecx
mov dword [ebp - 0x4c8], esi
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d0], edx
mov edx, dword [ebp - 0x4c8]
cmp edx, dword [ebp - 0x4d0]
ja 0x100138a5
jb 0x10013899
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x4d4]
jae 0x100138a5
mov dword [ebp - 0x230], 1
jmp 0x100138af
mov dword [ebp - 0x230], 0
mov ecx, dword [0x1004a154]
not ecx
cmp ecx, dword [ebp - 0x230]
je 0x10013950
movzx edx, byte [ebp - 2]
cmp dword [0x1004a148], edx
jne 0x100138db
mov dword [ebp - 0x238], 1
jmp 0x100138e5
mov dword [ebp - 0x238], 0
mov ecx, dword [0x1004a0c0]
mov esi, dword [0x1004a0c4]
movsx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x4dc], ecx
mov dword [ebp - 0x4d8], esi
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x4e0], edx
mov edx, dword [ebp - 0x4dc]
cmp edx, dword [ebp - 0x4e4]
jne 0x1001392a
mov eax, dword [ebp - 0x4d8]
cmp eax, dword [ebp - 0x4e0]
je 0x10013936
mov dword [ebp - 0x234], 1
jmp 0x10013940
mov dword [ebp - 0x234], 0
mov ecx, dword [ebp - 0x234]
not ecx
cmp dword [ebp - 0x238], ecx
jne 0x10013979
movzx eax, word [ebp - 8]
cdq
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
sub ecx, eax
sbb esi, edx
mov dword [0x1004a168], ecx
mov dword [0x1004a16c], esi
mov dx, word [ebp - 0x44]
mov word [ebp - 0x1c], dx
push 0
lea eax, [ebp - 0xbc4]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x1001399f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10014f36
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov eax, dword [0x1004a184]
sub ecx, dword [0x1004a180]
sbb edx, eax
mov dword [0x1004a180], ecx
mov dword [0x1004a184], edx
movsx eax, byte [0x1004a03f]
cdq
mov ecx, dword [0x1004a0c0]
mov esi, dword [0x1004a0c4]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
xor edx, ecx
xor eax, esi
mov dword [0x1004a0c0], edx
mov dword [0x1004a0c4], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xc8]
add eax, 0x37
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0xc8]
add ecx, 0x3b3
mov dword [ebp - 0x5c8], ecx
cmp dword [ebp - 0x48], 0
je 0x10013a35
movsx edx, word [ebp - 0x1c]
mov dword [ebp - 0x23c], edx
jmp 0x10013a40
mov eax, dword [0x1004a190]
mov dword [ebp - 0x23c], eax
mov cl, byte [ebp - 0x23c]
mov byte [0x1004a017], cl
movsx edx, word [ebp - 0x1c]
shl edx, 6
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xc8]
add eax, 0x1c6
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x35c]
sub ecx, 0x30
cmp ecx, dword [ebp - 0x360]
je 0x10014f36
cmp dword [ebp - 0x4c], 0
je 0x10013a95
mov edx, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x318], edx
mov dword [ebp - 0x314], eax
jmp 0x10013aa7
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x314], edx
mov al, byte [ebp - 0x318]
mov byte [ebp - 1], al
mov ecx, dword [0x1004a0c8]
not ecx
xor edx, edx
xor ecx, dword [0x1004a118]
xor edx, dword [0x1004a11c]
push 0
push 0x24
push edx
push ecx
call fcn.1002e960
mov ecx, eax
movzx eax, byte [ebp - 2]
cdq
sub ecx, eax
mov dword [0x1004a104], ecx
mov edx, dword [0x1004a154]
shl edx, 2
mov byte [0x1004a0ba], dl
xor eax, eax
mov byte [ebp - 0x63], al
lea ecx, [ebp - 0x9bc]
push ecx
lea edx, [ebp - 0x6d0]
push edx
lea ecx, [ebp - 0x63]
call fcn.10002340
mov ecx, eax
call fcn.10021ee0
push eax
lea eax, [ebp - 0x1d08]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp - 0x54]
sub ecx, 0xb5
mov dword [ebp - 0x50], ecx
push 0
push 0
lea edx, [ebp - 0x1d08]
push edx
lea eax, [ebp - 0xbc4]
push eax
lea ecx, [ebp - 0xfd4]
push ecx
call fcn.100029c0
add esp, 0x14
xor edx, edx
mov byte [ebp - 0x64], dl
lea eax, [ebp - 0xdcc]
push eax
lea ecx, [ebp - 0xfd4]
push ecx
lea edx, [ebp - 0x77f]
push edx
lea ecx, [ebp - 0x64]
call fcn.10002440
mov ecx, eax
call fcn.10022360
push eax
call fcn.1000ede0
add esp, 0xc
test eax, eax
je 0x10013dd9
push 0xffffffffffffffc2
push 0xffffffffffffff96
movzx eax, byte [ebp - 0x50]
push eax
push 0
movzx ecx, byte [ebp - 0x50]
push ecx
call fcn.100248f0
add esp, 0x14
movsx dx, al
mov word [ebp - 0x18], dx
movzx eax, word [ebp - 0x18]
test eax, eax
je 0x10013db7
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x4e8]
ja 0x10013bf1
jb 0x10013be5
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x4ec]
ja 0x10013bf1
mov dword [ebp - 0x240], 1
jmp 0x10013bfb
mov dword [ebp - 0x240], 0
cmp dword [ebp - 0x40], 0
jg 0x10013c15
jl 0x10013c09
cmp dword [ebp - 0x44], 0xd
ja 0x10013c15
mov dword [ebp - 0x244], 1
jmp 0x10013c1f
mov dword [ebp - 0x244], 0
mov edx, dword [ebp - 0x240]
cmp edx, dword [ebp - 0x244]
jg 0x10013c76
mov ax, word [ebp - 0x24]
add ax, 1
mov word [ebp - 0x24], ax
movsx eax, byte [0x1004a017]
cdq
mov ecx, dword [0x1004a0d8]
mov esi, dword [0x1004a0dc]
sub ecx, eax
sbb esi, edx
movsx eax, byte [0x1004a093]
cdq
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x48]
xor eax, eax
push eax
push edx
push esi
push ecx
call fcn.1002e960
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x10013db7
mov ecx, 0xa5dc567e
test ecx, ecx
je 0x10013cbc
movzx eax, byte [0x1004a0bb]
cdq
mov ecx, eax
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
mov dword [ebp - 0x5cc], eax
sub ecx, edx
movzx eax, byte [0x1004a0bb]
cdq
sub eax, ecx
mov byte [0x1004a0bb], al
xor ecx, ecx
mov dword [ebp - 0x44], 0xe73f
mov dword [ebp - 0x40], ecx
jmp 0x10013db7
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
mov eax, dword [ebp - 0x30]
cdq
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x4f0], esi
mov dword [ebp - 0x4fc], eax
mov dword [ebp - 0x4f8], edx
mov edx, dword [ebp - 0x4f4]
cmp edx, dword [ebp - 0x4fc]
jne 0x10013d00
mov eax, dword [ebp - 0x4f0]
cmp eax, dword [ebp - 0x4f8]
je 0x10013d30
movzx eax, word [ebp - 8]
cdq
sub eax, 0xcc2f2150
mov word [ebp - 0x10], ax
xor ecx, ecx
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
sub edx, dword [ebp - 0x48]
sbb eax, ecx
mov dword [0x1004a130], edx
mov dword [0x1004a134], eax
jmp 0x10013db7
movsx ecx, byte [ebp - 1]
cmp dword [ebp - 0x30], ecx
je 0x10013db7
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x54]
jne 0x10013d55
xor eax, eax
mov dword [ebp - 0x320], 1
mov dword [ebp - 0x31c], eax
jmp 0x10013d60
xorps xmm0, xmm0
movlpd qword [ebp - 0x320], xmm0
mov esi, dword [0x1004a0f8]
mov edi, dword [0x1004a0fc]
sub esi, dword [ebp - 0x320]
sbb edi, dword [ebp - 0x31c]
mov ecx, dword [0x1004a0f8]
mov ebx, dword [0x1004a0fc]
sub ecx, 0xf924c706
sbb ebx, 0x40e38
movzx eax, word [0x1004a0f0]
add eax, dword [0x1004a148]
cdq
push edx
push eax
push ebx
push ecx
call fcn.1002e960
xor esi, eax
xor edi, edx
mov dword [str.J64_], esi
mov dword [0x1004a13c], edi
movsx edx, byte [0x1004a03f]
sub edx, dword [0x1004a140]
mov byte [0x1004a03f], dl
mov eax, 1
jmp 0x10014f61
mov eax, 0x1f0
sub eax, dword [ebp - 0x364]
imul ecx, dword [ebp - 0x368], 0x64
cmp eax, ecx
je 0x10014f36
imul eax, dword [ebp - 0x50], 0xc660
cdq
mov dword [0x1004a108], eax
mov dword [0x1004a10c], edx
movsx edx, word [ebp - 0x14]
movsx eax, byte [ebp - 1]
cmp edx, eax
je 0x10013e1e
mov dword [ebp - 0x248], 1
jmp 0x10013e28
mov dword [ebp - 0x248], 0
movzx ecx, byte [0x1004a0bc]
cmp ecx, dword [ebp - 0x30]
je 0x10013e40
mov dword [ebp - 0x24c], 1
jmp 0x10013e4a
mov dword [ebp - 0x24c], 0
mov edx, dword [ebp - 0x248]
cmp edx, dword [ebp - 0x24c]
jne 0x10013e6a
mov eax, dword [ebp - 0x54]
add eax, 0x4c8777ac
mov dword [0x1004a178], eax
jmp 0x10013f71
cmp dword [0x1004a17c], 0
jne 0x10013e8a
movzx ecx, byte [0x1004a06b]
test ecx, ecx
jne 0x10013e8a
mov dword [ebp - 0x250], 0
jmp 0x10013e94
mov dword [ebp - 0x250], 1
mov edx, dword [ebp - 0x250]
not edx
test edx, edx
je 0x10013ebd
movsx eax, byte [0x1004a093]
test eax, eax
je 0x10013ebd
movsx ecx, word [ebp - 0x10]
sub ecx, 0x275f
mov dword [ebp - 0x30], ecx
jmp 0x10013f71
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov ecx, dword [0x1004a0c8]
xor esi, esi
mov dword [ebp - 0x504], edx
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x50c], ecx
mov dword [ebp - 0x508], esi
mov edx, dword [ebp - 0x504]
cmp edx, dword [ebp - 0x50c]
jne 0x10013f04
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x508]
je 0x10013f10
mov dword [ebp - 0x254], 1
jmp 0x10013f1a
mov dword [ebp - 0x254], 0
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
cmp eax, dword [ebp - 0x38]
jl 0x10013f4f
jg 0x10013f43
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0x3c]
jbe 0x10013f4f
mov dword [ebp - 0x258], 1
jmp 0x10013f59
mov dword [ebp - 0x258], 0
mov edx, dword [ebp - 0x254]
cmp edx, dword [ebp - 0x258]
jle 0x10013f71
mov eax, dword [0x1004ac78]
mov dword [0x1004a110], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xcc], ecx
mov edx, 1
imul eax, edx, 0x2302
movsx eax, byte [eax + 0x101f09f8]
cdq
or eax, dword [0x1004a0d0]
or edx, dword [0x1004a0d4]
mov dword [0x1004a0d0], eax
mov dword [0x1004a0d4], edx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x7332
mov dword [ebp - 0x5d0], ecx
mov edx, dword [ebp - 0xcc]
add edx, 0x6902
mov dword [ebp - 0x25c], edx
xor eax, eax
mov dword [0x1004a118], 1
mov dword [0x1004a11c], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0xd862
mov dword [ebp - 0x5d4], ecx
movzx edx, word [ebp - 0x28]
test edx, edx
je 0x1001405c
mov eax, dword [0x1004a190]
xor ecx, ecx
push ecx
push eax
push 0
push 0x7c
mov edx, dword [0x1004a164]
push edx
mov eax, dword [0x1004a160]
push eax
push 0
push 0x65
push 0
push 0
call fcn.100243a0
add esp, 0x28
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
mov ecx, dword [0x1004a160]
mov edx, dword [0x1004a164]
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x51c]
or eax, dword [ebp - 0x518]
je 0x1001405a
mov ecx, dword [ebp - 0x4c]
not ecx
mov word [ebp - 0x1c], cx
jmp 0x10014080
movzx edx, word [ebp - 0x18]
cmp dword [ebp - 0x20], edx
jae 0x10014080
movsx eax, byte [ebp - 3]
cdq
push 0x9de9b
push 0x5668f97b
push edx
push eax
call fcn.1002e960
mov dword [0x1004a14c], eax
mov byte [0x1004a092], 0xca
mov eax, dword [ebp - 0x30]
add eax, 0x68dc8e86
cmp dword [0x1004a178], eax
jne 0x100140ed
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x524], ecx
mov dword [ebp - 0x520], esi
cmp dword [ebp - 0x524], 1
jne 0x100140ed
cmp dword [ebp - 0x520], 0
jne 0x100140ed
jmp 0x10014080
mov cl, byte [ebp - 1]
mov byte [0x1004a03f], cl
mov dword [0x1004a104], 0x2664f24
mov edx, dword [ebp - 0x25c]
or edx, dword [ebp - 0x25c]
xor edx, 0x6960
mov dword [ebp - 0x370], edx
mov dword [0x1004a15c], 2
movsx eax, word [ebp - 0x10]
imul eax, eax, 3
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx ecx, word [ebp - 8]
imul ecx, dword [0x1004a148]
mov word [ebp - 8], cx
mov edx, dword [0x1004a15c]
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0
je 0x10014168
cmp dword [ebp - 0xd0], 1
je 0x10014196
cmp dword [ebp - 0xd0], 2
je 0x100141b5
jmp 0x100141e3
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [0x1004a14c]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x5d8], esi
xor ecx, edx
sub eax, ecx
mov byte [0x1004a06b], al
xor eax, eax
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x40], eax
jmp 0x100141e3
movzx eax, word [ebp - 0x18]
add eax, 0xed41
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x34]
xor ecx, 0xe873
mov word [ebp - 8], cx
jmp 0x100141e3
movsx eax, byte [ebp - 1]
cdq
mov ecx, eax
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x5dc], eax
add ecx, edx
movsx eax, byte [ebp - 1]
cdq
add eax, ecx
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x54]
shr ecx, 3
mov word [ebp - 0x10], cx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xd4], edx
cmp dword [0x1004a178], 0
jne 0x10014204
mov dword [ebp - 0x260], 1
jmp 0x1001420e
mov dword [ebp - 0x260], 0
movsx eax, word [ebp - 0x14]
test eax, eax
jne 0x10014222
mov dword [ebp - 0x264], 1
jmp 0x1001422c
mov dword [ebp - 0x264], 0
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 0x528], edx
mov eax, dword [ebp - 0x52c]
or eax, dword [ebp - 0x528]
jne 0x10014260
xor ecx, ecx
mov dword [ebp - 0x328], 1
mov dword [ebp - 0x324], ecx
jmp 0x1001426b
xorps xmm0, xmm0
movlpd qword [ebp - 0x328], xmm0
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x264]
cdq
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x324]
push edx
mov eax, dword [ebp - 0x328]
push eax
mov ecx, dword [0x1004a0ec]
push ecx
mov edx, dword [0x1004a0e8]
push edx
call fcn.1002e960
mov ecx, eax
mov ebx, edx
movsx eax, word [0x1004a100]
add eax, dword [ebp - 0x34]
cdq
add ecx, eax
adc ebx, edx
add esi, ecx
adc edi, ebx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], edi
mov edx, dword [ebp - 0xd4]
add edx, 0x30
mov dword [ebp - 0x5e0], edx
lea eax, [ebp - 0x2730]
push eax
push 0
push 0x1003b688
push 0x1003b690
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov byte [0x1004a056], al
mov ecx, dword [ebp - 0xd4]
add ecx, 0xca81
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x36c], 0x104
lea edx, [ebp - 0x36c]
push edx
lea eax, [ebp - 0x2938]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov dword [0x1004a178], eax
cmp dword [0x1004a178], 0
jae 0x10014334
mov dword [ebp - 0x268], 1
jmp 0x1001433e
mov dword [ebp - 0x268], 0
cmp dword [0x1004a178], 0x51
jae 0x10014353
mov dword [ebp - 0x26c], 1
jmp 0x1001435d
mov dword [ebp - 0x26c], 0
mov ecx, dword [ebp - 0x268]
cmp ecx, dword [ebp - 0x26c]
jne 0x100145b3
push 0x104
lea edx, [ebp - 0x2b40]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x10014396
mov dword [ebp - 0x270], 1
jmp 0x100143a0
mov dword [ebp - 0x270], 0
cmp dword [ebp - 0x50], 0x53
je 0x100143b2
mov dword [ebp - 0x274], 1
jmp 0x100143bc
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x270]
cmp eax, dword [ebp - 0x274]
jle 0x10014549
push 0
movzx ecx, word [ebp - 0x3c]
push ecx
mov edx, dword [0x1004a154]
push edx
push 0
movzx eax, word [ebp - 0x10]
push eax
push 0
push 0
call fcn.10024c40
add esp, 0x1c
movzx ecx, ax
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0
je 0x10014535
mov ecx, dword [0x1004a188]
mov esi, dword [0x1004a18c]
mov eax, dword [0x1004a140]
cdq
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x530], esi
mov dword [ebp - 0x53c], eax
mov dword [ebp - 0x538], edx
mov edx, dword [ebp - 0x534]
cmp edx, dword [ebp - 0x53c]
jne 0x10014445
mov eax, dword [ebp - 0x530]
cmp eax, dword [ebp - 0x538]
je 0x10014451
mov dword [ebp - 0x278], 1
jmp 0x1001445b
mov dword [ebp - 0x278], 0
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x540], edx
cmp dword [ebp - 0x544], 0xd
jne 0x10014485
cmp dword [ebp - 0x540], 0
je 0x10014491
mov dword [ebp - 0x27c], 1
jmp 0x1001449b
mov dword [ebp - 0x27c], 0
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x27c]
jg 0x100144f7
movsx ecx, byte [0x1004a093]
add ecx, 0xcf
mov dword [0x1004a0c8], ecx
movsx eax, word [0x1004a120]
cdq
mov ecx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov ecx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
add ecx, eax
adc esi, edx
mov dword [0x1004a0e0], ecx
mov dword [0x1004a0e4], esi
jmp 0x10014533
mov edx, dword [ebp - 0x34]
add edx, 0x21e159a5
jne 0x1001450e
mov dword [ebp - 0x280], 1
jmp 0x10014518
mov dword [ebp - 0x280], 0
movsx eax, word [0x1004a100]
movzx ecx, word [0x1004a0cc]
xor ecx, dword [ebp - 0x280]
add eax, ecx
mov byte [0x1004a03f], al
jmp 0x10014547
xor edx, edx
mov dword [str.J64_], 0x64
mov dword [0x1004a13c], edx
jmp 0x100145b1
movsx eax, word [ebp - 0x10]
test eax, eax
jne 0x1001455d
mov dword [ebp - 0x284], 1
jmp 0x10014567
mov dword [ebp - 0x284], 0
mov ecx, dword [ebp - 0x284]
xor ecx, 1
je 0x100145b1
mov ecx, dword [ebp - 0x3c]
not ecx
mov esi, dword [ebp - 0x38]
not esi
movsx eax, byte [ebp - 3]
cdq
push edx
push eax
push esi
push ecx
call fcn.1002e960
not eax
mov word [0x1004a124], ax
mov edx, dword [0x1004a0d0]
sub edx, 0xd3
mov eax, dword [0x1004a0d4]
sbb eax, 0
mov dword [0x1004a0d8], edx
mov dword [0x1004a0dc], eax
jmp 0x100145d1
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x40]
je 0x100145d1
mov edx, 2
imul eax, edx, 0x6f3d
mov cx, word [ebp - 0x48]
mov word [eax + 0x102499e8], cx
mov edx, dword [ebp - 0xd4]
add edx, 0x578b
mov dword [ebp - 0x2a0], edx
push 0
movzx eax, byte [0x1004a118]
push eax
movzx ecx, byte [ebp - 3]
push ecx
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x5e4], eax
movzx ecx, dl
push ecx
call fcn.10024ee0
add esp, 0x10
mov byte [0x1004a03f], al
movsx edx, byte [0x1004a03f]
test edx, edx
jge 0x1001462b
mov dword [ebp - 0x288], 1
jmp 0x10014635
mov dword [ebp - 0x288], 0
movsx eax, byte [0x1004a03f]
cmp eax, 0x18
jge 0x1001464d
mov dword [ebp - 0x28c], 1
jmp 0x10014657
mov dword [ebp - 0x28c], 0
mov ecx, dword [ebp - 0x288]
cmp ecx, dword [ebp - 0x28c]
je 0x10014726
movzx eax, word [0x1004a150]
cdq
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x548], edx
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x550], esi
mov edx, dword [ebp - 0x54c]
cmp edx, dword [ebp - 0x554]
jne 0x100146ab
mov eax, dword [ebp - 0x548]
cmp eax, dword [ebp - 0x550]
je 0x100146b7
mov dword [ebp - 0x290], 1
jmp 0x100146c1
mov dword [ebp - 0x290], 0
movzx ecx, word [0x1004a150]
cmp ecx, 0x4f
je 0x100146d9
mov dword [ebp - 0x294], 1
jmp 0x100146e3
mov dword [ebp - 0x294], 0
mov edx, dword [ebp - 0x290]
cmp edx, dword [ebp - 0x294]
jle 0x10014710
mov ax, word [0x1004a140]
mov word [ebp - 8], ax
movsx ecx, word [0x1004a120]
imul edx, ecx, 0xa6
mov byte [0x1004a093], dl
jmp 0x10014724
movsx eax, byte [0x1004a03f]
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov edx, dword [ebp - 0x54]
add edx, ecx
mov dword [ebp - 0x54], edx
jmp 0x10014760
movsx eax, byte [0x1004a03e]
sub eax, dword [0x1004a154]
je 0x1001474a
movsx ecx, byte [0x1004a017]
xor ecx, 0xa5
mov dword [0x1004a104], ecx
jmp 0x10014760
cmp dword [ebp - 0x34], 0
je 0x10014760
mov byte [0x1004a03f], 0x6f
mov edx, dword [0x1004ac78]
mov dword [ebp - 0x20], edx
xor eax, eax
mov dword [0x1004a170], 0x6eb0
mov dword [0x1004a174], eax
mov eax, dword [ebp - 0x2c]
add eax, 1
cdq
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x558], edx
mov ecx, dword [0x1004a170]
cmp ecx, dword [ebp - 0x55c]
jne 0x100148b6
mov edx, dword [0x1004a174]
cmp edx, dword [ebp - 0x558]
jne 0x100148b6
movzx eax, word [0x1004a0f0]
add eax, dword [0x1004a158]
mov dword [0x1004a158], eax
mov ecx, 0x24b2
mov word [ebp - 0x1c], cx
movzx edx, word [0x1004a150]
cmp edx, 1
jne 0x100148b6
push 0
push 0
push 0
push 0x4d
push 0
push 0xaa
push 0
push 0x80
push 0
push 0
call fcn.100243a0
add esp, 0x28
mov byte [0x1004a0ba], al
movzx eax, byte [0x1004a0ba]
test eax, eax
je 0x1001485e
movsx ecx, byte [str.address_family_not]
movsx edx, word [ebp - 0x14]
cmp ecx, edx
jg 0x1001485c
cmp dword [0x1004a144], 0
jne 0x10014831
movzx eax, byte [ebp - 2]
test eax, eax
je 0x10014831
mov dword [ebp - 0x298], 1
jmp 0x1001483b
mov dword [ebp - 0x298], 0
mov ecx, dword [ebp - 0x298]
not ecx
test ecx, ecx
je 0x1001485c
mov dword [ebp - 0x34], 0xa1
mov eax, dword [0x1004a148]
cdq
add eax, 0x7376ccbb
mov dword [ebp - 0x20], eax
jmp 0x10014892
movsx edx, word [ebp - 0x14]
test edx, edx
je 0x10014892
movsx eax, word [ebp - 0x10]
cdq
sub eax, 0xfff815f8
sbb edx, 0xdea55
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
add ecx, eax
adc esi, edx
mov dword [0x1004a130], ecx
mov dword [0x1004a134], esi
jmp 0x100148b6
xor eax, eax
mov dword [0x1004a170], 0x6eb0
mov dword [0x1004a174], eax
movsx ecx, word [ebp - 0x24]
shl ecx, 8
mov byte [ebp - 9], cl
mov edx, dword [0x1004a118]
sub edx, dword [0x1004a0e8]
mov word [0x1004a100], dx
movsx eax, word [ebp - 0x24]
add eax, dword [0x1004a0c8]
movzx ecx, word [ebp - 8]
lea edx, [eax + ecx - 0x11cde]
mov dword [0x1004a104], edx
mov eax, dword [0x1004a144]
sub eax, dword [0x1004a110]
mov dword [0x1004a144], eax
mov ecx, dword [ebp - 0x29c]
or ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
xor edx, dword [ebp - 0x2a0]
sub ecx, edx
sub ecx, 0x417c
mov dword [ebp - 0x374], ecx
mov eax, 0xb7aa
mov word [0x1004a0f0], ax
movzx ecx, word [0x1004a0f0]
movzx edx, word [ebp - 0x18]
add edx, 0xb7aa
cmp ecx, edx
jne 0x10014a35
movzx eax, byte [0x1004a0ba]
movzx ecx, word [ebp - 0x18]
add ecx, 0xd76e
cmp eax, ecx
jne 0x10014a35
push 0
push 0
push 0
push 0
push 0
call fcn.100248f0
add esp, 0x14
mov byte [0x1004a092], al
movsx edx, byte [0x1004a092]
test edx, edx
jg 0x10014a35
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x564]
or edx, dword [ebp - 0x560]
je 0x100149f6
mov ecx, dword [ebp - 0x20]
xor esi, esi
mov eax, dword [ebp - 0x4c]
cdq
mov edi, dword [ebp - 0x3c]
sub edi, eax
mov eax, dword [ebp - 0x38]
sbb eax, edx
sub ecx, edi
sbb esi, eax
mov edx, dword [0x1004a17c]
not edx
xor eax, eax
push eax
push edx
push esi
push ecx
call fcn.1002e960
mov dword [0x1004a118], eax
mov dword [0x1004a11c], edx
movsx ecx, byte [ebp - 3]
mov dword [ebp - 0x48], ecx
jmp 0x10014a35
movsx edx, byte [0x1004a092]
movzx eax, word [0x1004a124]
not eax
cmp edx, eax
jg 0x10014a35
movzx ecx, word [0x1004a124]
add ecx, 0x536f
mov dword [0x1004a178], ecx
mov edx, 2
imul eax, edx, 0xb4
movsx ecx, word [eax + 0x101f0630]
add ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
mov edx, 0xb7aa
mov word [0x1004a0f0], dx
cmp dword [0x1004a148], 0
jne 0x10014a56
mov dword [ebp - 0x2a4], 1
jmp 0x10014a60
mov dword [ebp - 0x2a4], 0
movzx eax, byte [0x1004a0ba]
xor eax, dword [ebp - 0x2a4]
jne 0x10014a7b
mov dword [ebp - 0x2a8], 1
jmp 0x10014a85
mov dword [ebp - 0x2a8], 0
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x4c], ecx
xor edx, edx
mov byte [ebp - 0x65], dl
lea eax, [ebp - 0xdcc]
push eax
lea ecx, [ebp - 0xfd4]
push ecx
lea edx, [ebp - 0x7b4]
push edx
lea ecx, [ebp - 0x65]
call fcn.10002620
mov ecx, eax
call fcn.10022360
push eax
call fcn.1000ede0
add esp, 0xc
test eax, eax
je 0x10014f36
movzx eax, byte [0x1004a0ba]
shl eax, 1
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x3c]
sub ecx, 0xe1921153
movsx eax, byte [str.address_family_not]
cdq
and eax, ecx
mov byte [str.address_family_not], al
movzx eax, word [ebp - 0x18]
cdq
push edx
push eax
push 0
push 0x5d
movzx eax, byte [0x1004a0bc]
cdq
push edx
push eax
push 0
push 0
push 0
push 0x79
call fcn.100243a0
add esp, 0x28
mov word [ebp - 0x1c], ax
movsx edx, word [ebp - 0x1c]
test edx, edx
jl 0x10014b29
mov dword [ebp - 0x2ac], 1
jmp 0x10014b33
mov dword [ebp - 0x2ac], 0
movsx eax, word [ebp - 0x1c]
cmp eax, 0x44
jl 0x10014b48
mov dword [ebp - 0x2b0], 1
jmp 0x10014b52
mov dword [ebp - 0x2b0], 0
mov ecx, dword [ebp - 0x2ac]
cmp ecx, dword [ebp - 0x2b0]
jle 0x10014b62
jmp 0x10014b79
imul edx, dword [0x1004a158], 0xb6
xor eax, eax
mov dword [0x1004a0c0], edx
mov dword [0x1004a0c4], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0x34]
shl eax, 6
cdq
mov dword [0x1004a0c0], eax
mov dword [0x1004a0c4], edx
mov edx, dword [ebp - 0xdc]
add edx, 0x11d
mov dword [ebp - 0x2b4], edx
movzx eax, byte [0x1004a06b]
not eax
test eax, eax
je 0x10014c00
push 0
push 0xbe
mov ecx, dword [0x1004a11c]
push ecx
mov edx, dword [0x1004a118]
push edx
push 0
push 0xd8
push 0
push 0x85
push 0
push 0
call fcn.100243a0
add esp, 0x28
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jl 0x10014bf0
jmp 0x10014bfe
movsx eax, word [ebp - 0x14]
cdq
sub eax, 0x44108a84
mov word [ebp - 0x14], ax
jmp 0x10014c1e
movsx eax, byte [ebp - 3]
movsx ecx, byte [ebp - 1]
add eax, ecx
je 0x10014c1e
mov edx, dword [0x1004a0e8]
xor edx, 0x4ef32618
mov dword [0x1004a110], edx
mov eax, dword [ebp - 0x370]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0xd8], 0x2e
mov ecx, dword [ebp - 0x44]
sub ecx, 0xcc11a765
mov dword [ebp - 0x34], ecx
movzx eax, byte [ebp - 2]
cdq
add eax, 0xa676c26a
mov dword [ebp - 0x20], eax
mov edx, dword [0x1004a108]
add edx, 0xcf67
mov eax, dword [0x1004a10c]
adc eax, 0
mov dword [0x1004a0f8], edx
mov dword [0x1004a0fc], eax
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0x2594
jl 0x10014c46
mov edx, dword [ebp - 0xdc]
add edx, 0xae
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x374]
xor eax, dword [ebp - 0x2b4]
cmp eax, dword [ebp - 0x2b4]
je 0x10014f36
mov ecx, 0x4b
mov word [0x1004a0cc], cx
movzx edx, word [0x1004a0cc]
movzx eax, word [ebp - 0x18]
add eax, 1
cmp edx, eax
jne 0x10014f17
movzx eax, byte [0x1004a0ba]
movsx ecx, word [ebp - 0x1c]
imul eax, ecx
not eax
cdq
mov ecx, eax
xor ecx, dword [str.J64_]
mov edx, dword [0x1004a154]
not edx
imul edx, dword [0x1004a140]
mov esi, edx
movzx eax, word [0x1004a0f0]
cdq
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x5f0], edi
add eax, edx
add esi, eax
not esi
add ecx, esi
mov dword [0x1004a14c], ecx
movsx eax, byte [ebp - 3]
cdq
sub eax, 0x949c3bb4
mov dword [0x1004a178], eax
cmp dword [0x1004a158], 1
jne 0x10014f17
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x568], ecx
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x56c]
jne 0x10014d68
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x568]
je 0x10014d74
mov dword [ebp - 0x2b8], 1
jmp 0x10014d7e
mov dword [ebp - 0x2b8], 0
cmp dword [ebp - 0x3c], 0x3e
jne 0x10014d8a
cmp dword [ebp - 0x38], 0
je 0x10014d96
mov dword [ebp - 0x2bc], 1
jmp 0x10014da0
mov dword [ebp - 0x2bc], 0
mov ecx, dword [ebp - 0x2b8]
cmp ecx, dword [ebp - 0x2bc]
jge 0x10014ef7
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
movsx eax, byte [str.address_family_not]
cdq
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x570], esi
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x578], edx
mov edx, dword [ebp - 0x574]
cmp edx, dword [ebp - 0x57c]
jne 0x10014e06
mov eax, dword [ebp - 0x570]
cmp eax, dword [ebp - 0x578]
jne 0x10014e06
mov dword [ebp - 0x2c0], 1
jmp 0x10014e10
mov dword [ebp - 0x2c0], 0
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x584], ecx
mov dword [ebp - 0x580], edx
cmp dword [ebp - 0x584], 8
jne 0x10014e46
cmp dword [ebp - 0x580], 0
jne 0x10014e46
mov dword [ebp - 0x2c4], 1
jmp 0x10014e50
mov dword [ebp - 0x2c4], 0
mov eax, dword [ebp - 0x2c0]
cmp eax, dword [ebp - 0x2c4]
je 0x10014e6c
mov ecx, dword [ebp - 0x48]
shr ecx, 8
mov dword [ebp - 0x20], ecx
jmp 0x10014ef7
movsx edx, byte [0x1004a03e]
cmp dword [0x1004a178], edx
jb 0x10014e87
mov dword [ebp - 0x2c8], 1
jmp 0x10014e91
mov dword [ebp - 0x2c8], 0
cmp dword [ebp - 0x2c8], 1
jle 0x10014eb1
mov eax, dword [ebp - 0x30]
cdq
sub eax, 0x352a25a8
sbb edx, 0x9177e
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x10014ef7
movzx eax, word [ebp - 0x28]
not eax
or eax, dword [ebp - 0x30]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 9]
cdq
or eax, 0xfa70a1a1
or edx, 0x13123
add ecx, eax
adc esi, edx
mov dword [ebp - 0x58c], ecx
mov dword [ebp - 0x588], esi
mov edx, dword [ebp - 0x58c]
or edx, dword [ebp - 0x588]
je 0x10014ef7
mov dword [0x1004a140], 0xb9
jmp 0x10014f17
mov edx, 0x4b
mov word [0x1004a0cc], dx
mov al, byte [0x1004a06b]
sub al, 1
mov byte [0x1004a06b], al
mov eax, 1
jmp 0x10014f61
movzx ecx, word [ebp - 8]
sub ecx, dword [0x1004a190]
or ecx, dword [ebp - 0x3c]
mov eax, 0x25a9
sub eax, dword [ebp - 0x4c]
not eax
imul edx, dword [ebp - 0x4c], 0x8325
add eax, edx
cdq
xor ecx, eax
mov byte [0x1004a0ba], cl
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret