Function at 0x1001a9d0
Capabilities:
Authenticate hmac
Encrypt data using speck
Get common file path
Get file attributes
Get session user name
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x17f8
call fcn.1002ea10
push ebx
push esi
push edi
movzx eax, byte [0x1004a0bc]
mov dword [ebp - 0xbc0], eax
xor ecx, ecx
mov dword [ebp - 0x28], 0x5b3aa71d
mov dword [ebp - 0x24], ecx
mov byte [ebp - 4], 0x2a
movzx eax, byte [0x1004a0bc]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, byte [0x1004a03e]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov dl, byte [0x1004a06b]
mov byte [ebp - 3], dl
movzx eax, byte [0x1004a0bb]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x60], 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 - 0x50], eax
mov cx, word [0x1004a108]
mov word [ebp - 0x14], cx
mov edx, dword [0x1004a170]
mov eax, dword [0x1004a174]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0xa74], edx
mov byte [ebp - 6], cl
mov eax, dword [0x1004a110]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ax, word [0x1004a0cc]
mov byte [ebp - 1], al
mov ecx, dword [0x1004a170]
mov dword [ebp - 0x18], ecx
mov edx, 0x4db50
mov dword [ebp - 0x58], 0x82080ca9
mov dword [ebp - 0x54], edx
mov ax, word [0x1004a100]
mov byte [ebp - 5], al
mov ecx, 0x39db
mov word [ebp - 0x10], cx
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, 0xffffb256
mov word [ebp - 0xc], cx
xor edx, edx
mov dword [ebp - 0x68], 0x94
mov dword [ebp - 0x64], edx
mov eax, 0x16
mov word [ebp - 0x4d0], ax
mov eax, dword [0x1004a148]
cdq
mov dword [ebp - 0xb9c], eax
mov dword [ebp - 0xb98], edx
mov dword [ebp - 0xa78], 0x38
movzx eax, byte [0x1004a06b]
cdq
mov dword [ebp - 0xba4], eax
mov dword [ebp - 0xba0], edx
mov dword [ebp - 0xb7c], 0x5196fc44
mov dword [ebp - 0xb78], 0xba821ba
mov ecx, dword [0x1004a190]
mov word [ebp - 0x4d4], cx
movzx eax, byte [0x1004a06b]
cdq
mov dword [ebp - 0xbac], eax
mov dword [ebp - 0xba8], edx
mov dword [ebp - 0xb70], 0x744ce8c9
mov edx, dword [0x1004a14c]
mov dword [ebp - 0xb6c], edx
mov dword [ebp - 0xb68], 0x5047aabe
mov dword [ebp - 0xb64], 0xa9
mov ax, word [0x1004a120]
mov byte [ebp - 0x11e], al
mov byte [ebp - 0x11d], 0x80
mov dword [ebp - 0xb60], 0x6cdfc4e0
mov ecx, 0xffff8be7
mov word [ebp - 0x4d8], cx
movzx edx, byte [ebp - 6]
imul eax, edx, 0x3bbdf1c1
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1004a104]
sub ecx, dword [ebp - 0x50]
mov edx, dword [0x1004a104]
sub edx, ecx
mov dword [0x1004a104], edx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], 0
jmp 0x1001abf1
mov ecx, dword [ebp - 0x124]
add ecx, 1
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0x63
jge 0x1001ad4d
cmp dword [0x1004a14c], 0
je 0x1001ac36
movzx eax, word [0x1004a150]
cdq
push 0xe2ac2
push 0x4bec2da3
push edx
push eax
call fcn.1002e960
mov ecx, eax
movsx eax, byte [0x1004a093]
cdq
sub eax, ecx
mov byte [0x1004a093], al
jmp 0x1001ad2c
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
jne 0x1001ac55
movsx eax, byte [0x1004a093]
test eax, eax
je 0x1001ac55
mov dword [ebp - 0x154], 1
jmp 0x1001ac5f
mov dword [ebp - 0x154], 0
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov dword [ebp - 0x7c4], ecx
mov dword [ebp - 0x7c0], edx
cmp dword [ebp - 0x7c0], 0
ja 0x1001ac97
jb 0x1001ac8b
cmp dword [ebp - 0x7c4], 0x67
ja 0x1001ac97
mov dword [ebp - 0x158], 1
jmp 0x1001aca1
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x158]
jge 0x1001ad2c
movsx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x1001acc3
mov dword [ebp - 0x15c], 1
jmp 0x1001accd
mov dword [ebp - 0x15c], 0
mov edx, dword [0x1004a148]
add edx, dword [ebp - 0x15c]
jne 0x1001acef
xor eax, eax
mov dword [ebp - 0x7cc], 1
mov dword [ebp - 0x7c8], eax
jmp 0x1001acfa
xorps xmm0, xmm0
movlpd qword [ebp - 0x7cc], xmm0
mov ecx, dword [0x1004a0c0]
mov edx, dword [0x1004a0c4]
mov dword [ebp - 0xb5c], edx
not ecx
add ecx, dword [ebp - 0x7cc]
mov word [ebp - 0x10], cx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xb58], edx
xor ecx, eax
mov byte [ebp - 1], cl
mov eax, dword [0x1004a0f8]
mov ecx, dword [0x1004a0fc]
add eax, 1
adc ecx, 0
mov dword [0x1004a0f8], eax
mov dword [0x1004a0fc], ecx
jmp 0x1001abe2
mov edx, dword [ebp - 0x128]
add edx, 0x863
mov dword [ebp - 0xb74], edx
movsx eax, word [0x1004a120]
test eax, eax
jne 0x1001ad76
mov dword [ebp - 0x160], 1
jmp 0x1001ad80
mov dword [ebp - 0x160], 0
movsx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x7d4], eax
mov dword [ebp - 0x7d0], edx
cmp dword [ebp - 0x7d0], 0xf39da
jl 0x1001adb7
jg 0x1001adab
cmp dword [ebp - 0x7d4], 0xc2369d2
jbe 0x1001adb7
mov dword [ebp - 0x164], 1
jmp 0x1001adc1
mov dword [ebp - 0x164], 0
mov ecx, dword [ebp - 0x160]
cmp ecx, dword [ebp - 0x164]
jle 0x1001add4
jmp 0x1001ae7a
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
mov ecx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
adc eax, ecx
mov ecx, dword [0x1004a0c0]
mov esi, dword [0x1004a0c4]
sub ecx, edx
sbb esi, eax
mov dword [0x1004a0c0], ecx
mov dword [0x1004a0c4], esi
movzx eax, byte [ebp - 5]
cdq
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov dword [ebp - 0x7dc], eax
mov dword [ebp - 0x7d8], edx
mov edx, dword [ebp - 0x7dc]
or edx, dword [ebp - 0x7d8]
jne 0x1001ae4b
xor eax, eax
mov dword [ebp - 0x7e4], 1
mov dword [ebp - 0x7e0], eax
jmp 0x1001ae56
xorps xmm0, xmm0
movlpd qword [ebp - 0x7e4], xmm0
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0xb80], edx
add ecx, dword [ebp - 0x7e4]
add ecx, dword [0x1004a17c]
mov dword [0x1004a140], ecx
mov eax, dword [ebp - 0x128]
add eax, 0xdf3d
mov dword [ebp - 0xb84], eax
mov ecx, dword [ebp - 0x128]
add ecx, 0x44f6
mov dword [ebp - 0xb88], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xb8c], eax
add edx, 0x7d9ab31b
mov word [ebp - 0xc], dx
movzx eax, byte [0x1004a056]
cdq
mov ecx, dword [0x1004a0dc]
sub eax, dword [0x1004a0d8]
sbb edx, ecx
not eax
not edx
mov dword [0x1004a118], eax
mov dword [0x1004a11c], edx
mov dword [ebp - 0x4fc], 0x14b
mov edx, dword [0x1004ac78]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x12c]
add eax, 0xd1
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
push 0
push 0xae
push edx
push ecx
call fcn.1002e960
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x12c]
add eax, 0x39
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x44]
not ecx
xor edx, edx
mov eax, dword [0x1004a168]
mov esi, dword [0x1004a16c]
push edx
push ecx
push esi
push eax
call fcn.1002e960
mov dword [0x1004a118], eax
mov dword [0x1004a11c], edx
mov ecx, 0x92ad
mov word [0x1004a124], cx
mov edx, dword [ebp - 0x12c]
add edx, 0xf9
mov dword [ebp - 0x4e0], edx
push 0x104
lea eax, [ebp - 0xccc]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov byte [str.address_family_not], al
movsx ecx, byte [str.address_family_not]
test ecx, ecx
je 0x1001b0eb
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x7ec], edx
mov dword [ebp - 0x7e8], eax
mov ecx, dword [ebp - 0x7ec]
cmp ecx, dword [0x1004a118]
jne 0x1001afbe
mov edx, dword [ebp - 0x7e8]
cmp edx, dword [0x1004a11c]
je 0x1001afca
mov dword [ebp - 0x168], 1
jmp 0x1001afd4
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x7f4], eax
mov dword [ebp - 0x7f0], ecx
cmp dword [ebp - 0x7f4], 0x41
jne 0x1001aff8
cmp dword [ebp - 0x7f0], 0
je 0x1001b004
mov dword [ebp - 0x16c], 1
jmp 0x1001b00e
mov dword [ebp - 0x16c], 0
mov edx, dword [ebp - 0x168]
cmp edx, dword [ebp - 0x16c]
jl 0x1001b057
mov eax, dword [0x1004a158]
xor eax, 0xd
xor ecx, ecx
mov dword [str.J64_], eax
mov dword [0x1004a13c], ecx
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x1004a160]
mov esi, dword [0x1004a164]
sub ecx, eax
sbb esi, edx
mov dword [0x1004a160], ecx
mov dword [0x1004a164], esi
jmp 0x1001b0e9
cmp dword [0x1004a144], 0
je 0x1001b092
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x28]
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
movsx eax, word [ebp - 0x10]
cdq
add eax, ecx
mov word [ebp - 0x10], ax
mov edx, dword [ebp - 0x50]
sub edx, 0xa40ff849
mov byte [0x1004a056], dl
jmp 0x1001b0e9
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
jne 0x1001b0e9
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x7fc], ecx
mov dword [ebp - 0x7f8], edx
mov eax, dword [ebp - 0x7fc]
or eax, dword [ebp - 0x7f8]
jne 0x1001b0e9
mov ecx, 2
imul edx, ecx, 0x1274
movsx eax, word [edx + 0x101b53f0]
movzx ecx, word [0x1004a0f0]
sub ecx, eax
mov word [0x1004a0f0], cx
mov edx, dword [ebp - 0x40]
sub edx, 0xe2217f2d
mov word [ebp - 0x14], dx
jmp 0x1001b0f7
xor eax, eax
mov dword [ebp - 0x4c], 0x6f
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
sbb eax, ecx
mov ecx, dword [ebp - 0x28]
sub ecx, edx
mov edx, dword [ebp - 0x24]
sbb edx, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x4dc]
imul eax, dword [ebp - 0x4e0]
mov ecx, dword [ebp - 0x170]
sub ecx, dword [ebp - 0x170]
add eax, ecx
mov edx, 0xcca5
sub edx, eax
mov dword [ebp - 0x500], edx
push 0x104
lea eax, [ebp - 0x11e0]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor ecx, ecx
mov dword [0x1004a0d0], eax
mov dword [0x1004a0d4], ecx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0x7c], edx
cmp dword [ebp - 0x18], 0
je 0x1001b1ba
mov dword [ebp - 0x78], 0x1d
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [0x1004a180], eax
mov dword [0x1004a184], ecx
movsx eax, word [ebp - 0xc]
cdq
mov edx, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
mov dword [ebp - 0xb90], ecx
sub eax, edx
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x5c]
cdq
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x78]
add edx, 1
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x78], 0x618
jl 0x1001b19e
mov eax, dword [ebp - 0x7c]
add eax, 0xae56
mov dword [ebp - 0x4ec], eax
push 0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xb94], edx
movzx eax, cx
push eax
movzx ecx, word [ebp - 0x5c]
push ecx
push 0x5d
movzx dx, byte [0x1004a0ba]
movzx eax, dx
push eax
push 0x59
push 0xae
call fcn.10024c40
add esp, 0x1c
movzx eax, ax
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x28]
or ecx, dword [ebp - 0x24]
jne 0x1001b21a
mov dword [ebp - 0x174], 1
jmp 0x1001b224
mov dword [ebp - 0x174], 0
cmp dword [ebp - 0x28], 0x11
jne 0x1001b23c
cmp dword [ebp - 0x24], 0
jne 0x1001b23c
mov dword [ebp - 0x178], 1
jmp 0x1001b246
mov dword [ebp - 0x178], 0
mov edx, dword [ebp - 0x174]
cmp edx, dword [ebp - 0x178]
jne 0x1001b452
xor eax, eax
mov dword [0x1004a0f8], 4
mov dword [0x1004a0fc], eax
mov ecx, dword [0x1004a158]
add ecx, 0x9ffd
mov edx, dword [ebp - 0x5c]
sub edx, ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1004a0f8]
mov ecx, dword [0x1004a0fc]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], 0
jl 0x1001b44d
jg 0x1001b2b0
cmp dword [ebp - 0x134], 0
jb 0x1001b44d
cmp dword [ebp - 0x130], 0
jg 0x1001b44d
jl 0x1001b2cc
cmp dword [ebp - 0x134], 4
ja 0x1001b44d
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0xbb4], edx
mov eax, dword [ebp - 0xbb4]
jmp dword [eax*4 + 0x10021d4c]
jmp 0x1001b563
movsx eax, word [ebp - 0x10]
not eax
test eax, eax
je 0x1001b46d
mov ecx, dword [ebp - 0x44]
sub ecx, 0x12
mov dword [0x1004a158], ecx
jmp 0x1001b563
movsx edx, byte [0x1004a092]
test edx, edx
jne 0x1001b491
mov eax, dword [0x1004a170]
or eax, dword [0x1004a174]
jne 0x1001b491
mov dword [ebp - 0x184], 0
jmp 0x1001b49b
mov dword [ebp - 0x184], 1
mov ecx, dword [ebp - 0x184]
not ecx
test ecx, ecx
je 0x1001b4c0
imul edx, dword [0x1004a17c], 0xca4be56e
mov byte [0x1004a093], dl
mov byte [ebp - 2], 0xb5
jmp 0x1001b563
cmp dword [ebp - 0x5c], 0
jne 0x1001b4da
xor eax, eax
mov dword [ebp - 0x40c], 1
mov dword [ebp - 0x408], eax
jmp 0x1001b4e5
xorps xmm0, xmm0
movlpd qword [ebp - 0x40c], xmm0
mov ecx, dword [ebp - 0x408]
cmp ecx, dword [0x1004a174]
jl 0x1001b50f
jg 0x1001b503
mov edx, dword [ebp - 0x40c]
cmp edx, dword [0x1004a170]
jb 0x1001b50f
mov dword [ebp - 0x188], 1
jmp 0x1001b519
mov dword [ebp - 0x188], 0
movsx eax, byte [str.address_family_not]
cmp eax, dword [ebp - 0x44]
jne 0x1001b531
mov dword [ebp - 0x18c], 1
jmp 0x1001b53b
mov dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0x188]
xor ecx, dword [ebp - 0x18c]
je 0x1001b563
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
sub edx, 0x95e2
sbb eax, 0
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x7c]
add ecx, 0x6a26
mov dword [ebp - 0x4e4], ecx
mov dword [ebp - 0x18], 0x3eec
mov edx, dword [0x1004a158]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x7c]
add eax, 0xf9a8
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x60]
add ecx, dword [0x1004a170]
not ecx
mov byte [ebp - 2], cl
mov dword [ebp - 0x80], 0
jmp 0x1001b5b0
mov edx, dword [ebp - 0x80]
add edx, 2
mov dword [ebp - 0x80], edx
cmp dword [ebp - 0x80], 0x154
jge 0x1001b682
push 0xffffffffffffffe1
mov eax, dword [ebp - 0x50]
push eax
push 0xffffffffffffffc6
mov ecx, dword [ebp - 0x18]
push ecx
push 9
call fcn.100248f0
add esp, 0x14
movsx eax, al
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 0
ja 0x1001b63d
jb 0x1001b5eb
cmp dword [ebp - 0x38], 0
ja 0x1001b63d
cmp dword [ebp - 0x50], 0
jne 0x1001b5fd
mov dword [ebp - 0x190], 1
jmp 0x1001b607
mov dword [ebp - 0x190], 0
movzx edx, byte [0x1004a0bb]
movsx eax, word [0x1004a100]
add edx, eax
mov ecx, dword [ebp - 0x44]
xor ecx, dword [ebp - 0x190]
imul edx, ecx
mov eax, dword [0x1004a160]
mov ecx, dword [0x1004a164]
mov dword [ebp - 0xa80], ecx
add eax, edx
mov dword [0x1004a17c], eax
jmp 0x1001b661
movzx edx, byte [ebp - 4]
movzx eax, byte [ebp - 2]
imul edx, eax
movzx ecx, byte [0x1004a0bc]
imul edx, ecx
mov dword [0x1004a104], edx
mov edx, dword [ebp - 0x50]
xor edx, 0x51
mov byte [ebp - 2], dl
mov eax, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
add eax, 1
adc ecx, 0
mov dword [0x1004a0d8], eax
mov dword [0x1004a0dc], ecx
jmp 0x1001b5a7
mov edx, dword [ebp - 0x4e4]
or edx, dword [ebp - 0x4e8]
mov eax, dword [ebp - 0x4ec]
or eax, 0xfc
sub edx, eax
xor edx, 0x4e05
mov dword [ebp - 0x504], edx
cmp dword [0x1004a158], 0
je 0x1001b7ff
mov ecx, dword [ebp - 0x18]
push ecx
push 0x15
push 0
mov edx, dword [ebp - 0x18]
push edx
movzx eax, byte [0x1004a124]
push eax
call fcn.100248f0
add esp, 0x14
movsx ecx, al
mov dword [0x1004a178], ecx
cmp dword [0x1004a178], 0
jae 0x1001b7ab
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
push eax
push edx
mov ecx, dword [0x1004a0d4]
push ecx
mov edx, dword [0x1004a0d0]
push edx
call fcn.1002e960
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
not edi
not ebx
mov eax, dword [ebp - 0x5c]
cdq
add edi, eax
adc ebx, edx
add ecx, edi
adc esi, ebx
mov dword [ebp - 0x814], ecx
mov dword [ebp - 0x810], esi
mov edx, dword [ebp - 0x814]
or edx, dword [ebp - 0x810]
jne 0x1001b741
mov dword [ebp - 0x194], 1
jmp 0x1001b74b
mov dword [ebp - 0x194], 0
movsx eax, byte [0x1004a017]
imul eax, eax, 0x17
imul eax, dword [ebp - 0x194]
cdq
mov dword [0x1004a130], eax
mov dword [0x1004a134], edx
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
je 0x1001b786
movzx eax, word [0x1004a0f0]
cdq
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], edx
jmp 0x1001b79d
mov edx, dword [0x1004a0e8]
mov eax, dword [0x1004a0ec]
mov dword [ebp - 0x414], edx
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x414]
mov dword [0x1004a15c], ecx
jmp 0x1001b7fd
movzx edx, word [ebp - 0x14]
test edx, edx
je 0x1001b7dd
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push 0
push 0xc3
push ecx
push eax
call fcn.1002e960
mov byte [0x1004a0bb], al
mov edx, dword [0x1004a14c]
sub edx, 1
mov dword [0x1004a14c], edx
jmp 0x1001b7fd
mov eax, 0xceac551a
or eax, 0xa83fe
je 0x1001b7fd
movsx ecx, word [ebp - 0xc]
add ecx, dword [0x1004a148]
movsx edx, word [ebp - 0xc]
sub edx, ecx
mov word [ebp - 0xc], dx
jmp 0x1001b81f
movzx eax, byte [ebp - 5]
not eax
test eax, eax
je 0x1001b81f
movzx eax, byte [ebp - 5]
cdq
sub eax, 0x9b9bf57b
sbb edx, 0x4540
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x81c], edx
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x824], ecx
mov dword [ebp - 0x820], esi
mov edx, dword [ebp - 0x818]
cmp edx, dword [ebp - 0x820]
jl 0x1001b878
jg 0x1001b86c
mov eax, dword [ebp - 0x81c]
cmp eax, dword [ebp - 0x824]
jbe 0x1001b878
mov dword [ebp - 0x198], 1
jmp 0x1001b882
mov dword [ebp - 0x198], 0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x82c], ecx
mov dword [ebp - 0x828], edx
cmp dword [ebp - 0x828], 0
jl 0x1001b8b4
jg 0x1001b8a8
cmp dword [ebp - 0x82c], 0x31
jbe 0x1001b8b4
mov dword [ebp - 0x19c], 1
jmp 0x1001b8be
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x19c]
jl 0x1001b8ce
jmp 0x1001b8e9
movzx ecx, byte [0x1004a06b]
test ecx, ecx
je 0x1001b8e9
movzx eax, byte [ebp - 4]
sub eax, 0xe500
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x84]
add edx, 0x24e2
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x84]
add eax, 0x33ea
mov dword [ebp - 0xa84], eax
mov byte [0x1004a056], 4
mov dword [ebp - 0x60], 0x3aea12ed
cmp dword [0x1004a154], 0
jne 0x1001b937
xor ecx, ecx
mov dword [ebp - 0x41c], 1
mov dword [ebp - 0x418], ecx
jmp 0x1001b942
xorps xmm0, xmm0
movlpd qword [ebp - 0x41c], xmm0
mov eax, dword [0x1004a128]
cdq
push edx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1002e960
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 2]
cdq
sub esi, eax
sbb edi, edx
mov ecx, dword [ebp - 0x18]
xor edx, edx
push 0x1fa39
push 0x6756fabb
push edx
push ecx
call fcn.1002e960
mov ecx, dword [0x1004a170]
add ecx, dword [ebp - 0x41c]
mov ebx, dword [0x1004a174]
adc ebx, dword [ebp - 0x418]
add eax, ecx
adc edx, ebx
push edx
push eax
push edi
push esi
call fcn.1002e960
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x830], edx
mov edx, dword [ebp - 0x834]
or edx, dword [ebp - 0x830]
jne 0x1001b9bf
mov byte [ebp - 0x6e], 1
jmp 0x1001b9c3
mov byte [ebp - 0x6e], 0
mov al, byte [ebp - 0x6e]
mov byte [ebp - 6], al
movzx ecx, byte [0x1004a056]
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x1a0], 4
ja case.default.0x1001b9e9
mov edx, dword [ebp - 0x1a0]
jmp dword [edx*4 + 0x10021d60]
mov eax, dword [ebp - 0x50]
xor ecx, ecx
add eax, 0xbcfb9756
adc ecx, 0x3a8c9
add eax, dword [0x1004a170]
adc ecx, dword [0x1004a174]
mov dword [0x1004a170], eax
mov dword [0x1004a174], ecx
mov edx, dword [0x1004a0d0]
sub edx, 0x61bf2560
mov eax, dword [0x1004a0d4]
sbb eax, 0
add edx, dword [ebp - 0x40]
adc eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
jmp case.default.0x1001b9e9
movsx eax, word [ebp - 0x10]
cdq
add eax, 0xdc893ab8
mov dword [ebp - 0x44], eax
movzx eax, byte [ebp - 4]
cdq
mov ecx, eax
mov edx, dword [0x1004a0d8]
mov eax, dword [0x1004a0dc]
mov dword [ebp - 0xa88], eax
add ecx, edx
movzx eax, byte [ebp - 4]
cdq
xor eax, ecx
mov byte [ebp - 4], al
jmp case.default.0x1001b9e9
mov ecx, dword [0x1004a178]
xor edx, edx
mov eax, 8
imul eax, eax, 0x312f
mov dword [eax + 0x101914e8], ecx
mov dword [eax + 0x101914ec], edx
mov byte [ebp - 4], 0xd9
jmp case.default.0x1001b9e9
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa8c], ecx
sub eax, 0xff
mov dword [0x1004a104], eax
jmp case.default.0x1001b9e9
movzx eax, byte [ebp - 3]
cdq
mov dword [0x1004a130], eax
mov dword [0x1004a134], edx
mov edx, dword [ebp - 0x84]
add edx, 0x62ba
mov dword [ebp - 0x4f0], edx
mov byte [0x1004a03e], 0xdc
mov eax, dword [0x1004a144]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x1004a03e]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [ebp - 0x83c], ecx
mov dword [ebp - 0x838], esi
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x840], edx
mov edx, dword [ebp - 0x83c]
cmp edx, dword [ebp - 0x844]
jne 0x1001bd2d
mov eax, dword [ebp - 0x838]
cmp eax, dword [ebp - 0x840]
jne 0x1001bd2d
cmp dword [0x1004a110], 0x16
jge 0x1001bb4a
mov dword [ebp - 0x1a4], 1
jmp 0x1001bb54
mov dword [ebp - 0x1a4], 0
movzx ecx, word [ebp - 0x14]
mov edx, dword [ebp - 0x1a4]
not edx
add ecx, edx
movzx eax, byte [ebp - 4]
movzx edx, byte [ebp - 5]
imul eax, edx
sub ecx, eax
jne 0x1001bb82
mov byte [0x1004a093], 0xd4
mov dword [0x1004a140], 0x8a4c8d06
mov eax, dword [0x1004a144]
cdq
mov ecx, dword [ebp - 0x40]
add ecx, 0xb7aa
mov esi, dword [ebp - 0x3c]
adc esi, 0
mov dword [ebp - 0x84c], eax
mov dword [ebp - 0x848], edx
mov dword [ebp - 0x854], ecx
mov dword [ebp - 0x850], esi
mov edx, dword [ebp - 0x84c]
cmp edx, dword [ebp - 0x854]
jne 0x1001bd2d
mov eax, dword [ebp - 0x848]
cmp eax, dword [ebp - 0x850]
jne 0x1001bd2d
movzx ecx, byte [0x1004a0bb]
test ecx, ecx
je 0x1001bc7d
mov edx, dword [0x1004a190]
mov eax, dword [0x1004a168]
mov ecx, dword [0x1004a16c]
mov dword [ebp - 0xa90], ecx
sub edx, eax
mov eax, dword [0x1004a190]
add eax, edx
mov dword [0x1004a190], eax
mov ecx, dword [0x1004a0c0]
mov edx, dword [0x1004a0c4]
mov dword [ebp - 0x85c], ecx
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x85c]
or eax, dword [ebp - 0x858]
jne 0x1001bc39
mov dword [ebp - 0x1a8], 1
jmp 0x1001bc43
mov dword [ebp - 0x1a8], 0
mov ecx, dword [ebp - 0x60]
add ecx, 0xee
mov edx, dword [ebp - 0x1a8]
sub edx, ecx
movzx eax, word [0x1004a0cc]
xor eax, dword [0x1004a110]
movzx ecx, byte [0x1004a0bc]
movsx esi, word [ebp - 0xc]
add ecx, esi
add eax, ecx
xor edx, eax
mov dword [0x1004a154], edx
jmp 0x1001bcfd
movzx edx, byte [ebp - 5]
test edx, edx
je 0x1001bc96
mov eax, dword [0x1004a110]
xor eax, 0xeba6
mov dword [0x1004a140], eax
jmp 0x1001bcfd
movsx ecx, word [ebp - 0x10]
test ecx, ecx
je 0x1001bcfd
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
push 0xff703
push 0x134aa422
push eax
push edx
call fcn.1002e960
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x50], 0
je 0x1001bcd4
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
jmp 0x1001bce6
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
mov dword [0x1004a0e8], eax
mov dword [0x1004a0ec], ecx
jmp 0x1001bada
movsx ecx, word [0x1004a100]
test ecx, ecx
je 0x1001be27
mov byte [ebp - 3], 2
mov edx, dword [ebp - 0x28]
or edx, dword [ebp - 0x24]
jne 0x1001bd54
mov dword [ebp - 0x1ac], 1
jmp 0x1001bd5e
mov dword [ebp - 0x1ac], 0
movsx eax, byte [0x1004a03e]
mov ecx, dword [ebp - 0x1ac]
sub ecx, eax
not ecx
movzx edx, byte [0x1004a0bb]
not edx
sub edx, dword [ebp - 0x18]
sub ecx, edx
not ecx
mov ebx, ecx
xor eax, eax
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
add ecx, dword [0x1004a17c]
adc esi, eax
movsx eax, byte [ebp - 1]
cdq
mov edi, 0x4e931eec
sub edi, eax
mov eax, 0xfff4f424
sbb eax, edx
not edi
not eax
push eax
push edi
push esi
push ecx
call fcn.1002e960
and ebx, eax
mov byte [ebp - 1], bl
mov cl, byte [ebp - 3]
mov byte [ebp - 0x88], cl
cmp byte [ebp - 0x88], 0
je 0x1001bddc
cmp byte [ebp - 0x88], 1
je 0x1001bdf2
cmp byte [ebp - 0x88], 2
je 0x1001be18
jmp 0x1001be27
mov edx, 1
imul eax, edx, 3
mov cl, byte [0x1004a093]
mov byte [eax + 0x102496c0], cl
jmp 0x1001be27
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
or ecx, eax
or esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
jmp 0x1001be27
mov edx, dword [0x1004a14c]
sub edx, 0xe39d49b3
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x4f0]
xor eax, ecx
mov edx, 0x8949
sub edx, eax
mov dword [ebp - 0x508], edx
movsx eax, byte [0x1004a017]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
or eax, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x90], eax
movsx ecx, word [0x1004a100]
cmp dword [ebp - 0x5c], ecx
jl 0x1001be8b
mov dword [ebp - 0x1b0], 1
jmp 0x1001be95
mov dword [ebp - 0x1b0], 0
cmp dword [ebp - 0x5c], 0x57
jl 0x1001bea7
mov dword [ebp - 0x1b4], 1
jmp 0x1001beb1
mov dword [ebp - 0x1b4], 0
mov edx, dword [ebp - 0x1b0]
cmp edx, dword [ebp - 0x1b4]
jl 0x1001bf36
movzx eax, byte [ebp - 5]
movsx ecx, byte [0x1004a092]
cmp eax, ecx
jne 0x1001beda
mov dword [ebp - 0x1b8], 1
jmp 0x1001bee4
mov dword [ebp - 0x1b8], 0
movzx edx, byte [ebp - 5]
cmp edx, 0x46
jne 0x1001bef9
mov dword [ebp - 0x1bc], 1
jmp 0x1001bf03
mov dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [ebp - 0x1bc]
jg 0x1001bf36
movzx ecx, word [0x1004a150]
and ecx, 0xe76c2c66
mov edx, dword [0x1004a0d0]
sub edx, ecx
mov eax, dword [ebp - 0x44]
sub eax, 0x799e4a4f
xor edx, eax
mov byte [0x1004a017], dl
mov ecx, dword [ebp - 0x90]
add ecx, 0xc51c
mov dword [ebp - 0xa94], ecx
movsx edx, byte [0x1004a03e]
test edx, edx
jne 0x1001bf67
xor eax, eax
mov dword [ebp - 0x424], 1
mov dword [ebp - 0x420], eax
jmp 0x1001bf72
xorps xmm0, xmm0
movlpd qword [ebp - 0x424], xmm0
xor ecx, ecx
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
sub edx, dword [0x1004a154]
sbb eax, ecx
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x424]
sub esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x420]
sbb edi, ecx
push edi
push esi
push eax
push edx
call fcn.1002e960
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x860], edx
mov edx, dword [ebp - 0x864]
or edx, dword [ebp - 0x860]
jne 0x1001bfd2
xor eax, eax
mov dword [ebp - 0x86c], 1
mov dword [ebp - 0x868], eax
jmp 0x1001bfdd
xorps xmm0, xmm0
movlpd qword [ebp - 0x86c], xmm0
mov ecx, dword [ebp - 0x38]
not ecx
mov esi, dword [ebp - 0x34]
not esi
sub ecx, dword [ebp - 0x40]
sbb esi, dword [ebp - 0x3c]
movzx eax, byte [ebp - 6]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1002e960
xor eax, dword [ebp - 0x86c]
mov byte [ebp - 2], al
mov edx, dword [ebp - 0x28]
add edx, 0x77e691f9
mov eax, dword [ebp - 0x24]
adc eax, 0
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x6701
mov dword [ebp - 0xa98], ecx
mov edx, dword [ebp - 0x90]
add edx, 0x1141
mov dword [ebp - 0x94], edx
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov eax, dword [0x1004a144]
cdq
mov dword [ebp - 0x874], ecx
mov dword [ebp - 0x870], esi
mov dword [ebp - 0x87c], eax
mov dword [ebp - 0x878], edx
mov edx, dword [ebp - 0x874]
cmp edx, dword [ebp - 0x87c]
jne 0x1001c07f
mov eax, dword [ebp - 0x870]
cmp eax, dword [ebp - 0x878]
je 0x1001c09a
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x1001c095
mov edx, dword [0x1004a190]
xor eax, eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
jmp 0x1001c130
movzx eax, byte [ebp - 4]
cdq
sub eax, 0xcf38e1f9
sbb edx, 0xb8749
mov dword [0x1004a188], eax
mov dword [0x1004a18c], edx
movzx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x1001c0d1
xor edx, edx
mov dword [ebp - 0x884], 1
mov dword [ebp - 0x880], edx
jmp 0x1001c0dc
xorps xmm0, xmm0
movlpd qword [ebp - 0x884], xmm0
mov eax, dword [ebp - 0x44]
not eax
mov esi, eax
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0xa9c], edx
xor ecx, dword [ebp - 0x884]
sub esi, ecx
movsx eax, byte [0x1004a017]
cdq
push edx
push eax
mov eax, dword [0x1004a0d4]
push eax
mov ecx, dword [0x1004a0d0]
push ecx
call fcn.1002e960
mov ecx, eax
movzx edx, byte [ebp - 2]
imul eax, edx, 0x57f4
cdq
xor ecx, eax
xor esi, ecx
mov dword [0x1004a128], esi
mov dword [0x1004a190], 0x5bded292
movzx eax, byte [ebp - 4]
mov ecx, dword [0x1004a190]
add ecx, eax
xor edx, edx
mov dword [ebp - 0x88c], ecx
mov dword [ebp - 0x888], edx
mov eax, dword [0x1004a170]
cmp eax, dword [ebp - 0x88c]
jne 0x1001c1f7
mov ecx, dword [0x1004a174]
cmp ecx, dword [ebp - 0x888]
jne 0x1001c1f7
movsx eax, word [ebp - 0x10]
cdq
mov edx, dword [0x1004a0e0]
mov ecx, dword [0x1004a0e4]
mov dword [ebp - 0xaa0], ecx
sub eax, edx
mov word [ebp - 0x10], ax
movzx edx, byte [0x1004a0ba]
movzx eax, byte [ebp - 4]
add eax, 0x1123
cmp edx, eax
jne 0x1001c1f7
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
and ecx, dword [ebp - 0x20]
and edx, dword [ebp - 0x1c]
mov dword [ebp - 0x894], ecx
mov dword [ebp - 0x890], edx
jmp 0x1001c130
movsx eax, byte [0x1004a092]
test eax, eax
je 0x1001c2c8
mov ecx, dword [0x1004a188]
mov esi, dword [0x1004a18c]
movzx eax, byte [ebp - 6]
cdq
mov dword [ebp - 0x89c], ecx
mov dword [ebp - 0x898], esi
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8a0], edx
mov edx, dword [ebp - 0x89c]
cmp edx, dword [ebp - 0x8a4]
jne 0x1001c24b
mov eax, dword [ebp - 0x898]
cmp eax, dword [ebp - 0x8a0]
je 0x1001c257
mov dword [ebp - 0x1c0], 1
jmp 0x1001c261
mov dword [ebp - 0x1c0], 0
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0x8ac], ecx
mov dword [ebp - 0x8a8], edx
cmp dword [ebp - 0x8ac], 0x1a
jne 0x1001c28b
cmp dword [ebp - 0x8a8], 0
je 0x1001c297
mov dword [ebp - 0x1c4], 1
jmp 0x1001c2a1
mov dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x1c4]
jle 0x1001c2c6
mov ecx, dword [ebp - 0x60]
sub ecx, 0x62c3d43b
xor edx, edx
mov dword [0x1004a130], ecx
mov dword [0x1004a134], edx
jmp 0x1001c2ec
cmp dword [ebp - 0x5c], 0
je 0x1001c2ec
mov eax, dword [0x1004a190]
sub eax, 0x26cb29ad
mov dword [0x1004a178], eax
mov ecx, dword [ebp - 0x68]
sub ecx, 0x6ab3c193
mov byte [0x1004a017], cl
mov edx, dword [ebp - 0x94]
xor edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
or eax, 0xefb9
add edx, eax
xor edx, 0xfdf4
mov dword [ebp - 0x50c], edx
movzx ecx, byte [0x1004a06b]
mov edx, dword [0x1004a190]
imul edx, ecx
mov eax, dword [0x1004a190]
sub eax, edx
mov dword [0x1004a190], eax
mov dword [0x1004a158], 0xb47d8cca
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x98], ecx
movzx edx, byte [ebp - 2]
cmp edx, dword [0x1004a14c]
jne 0x1001c35b
mov dword [ebp - 0x1c8], 1
jmp 0x1001c365
mov dword [ebp - 0x1c8], 0
movzx eax, byte [ebp - 2]
cmp eax, 0x39
jne 0x1001c37a
mov dword [ebp - 0x1cc], 1
jmp 0x1001c384
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1cc]
jl 0x1001c39b
mov byte [str.address_family_not], 0x91
jmp 0x1001c3b2
mov byte [ebp - 4], 0x23
movsx eax, word [0x1004a100]
add eax, 0x8b
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x98]
add edx, 0xa1
mov dword [ebp - 0x1e0], edx
movsx eax, word [ebp - 0xc]
sub eax, 0x51
mov dword [0x1004a110], eax
mov ecx, dword [ebp - 0x98]
add ecx, 0xf040
mov dword [ebp - 0x1e4], ecx
mov edx, dword [0x1004a148]
cmp dword [ebp - 0x5c], edx
jne 0x1001c3ef
jmp 0x1001c462
cmp dword [ebp - 0x60], 0
jne 0x1001c421
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x8b0], ecx
mov edx, dword [ebp - 0x8b4]
or edx, dword [ebp - 0x8b0]
jne 0x1001c421
mov dword [ebp - 0x1d0], 0
jmp 0x1001c42b
mov dword [ebp - 0x1d0], 1
mov eax, dword [ebp - 0x1d0]
cmp eax, dword [0x1004a128]
jge 0x1001c445
mov dword [ebp - 0x1d4], 1
jmp 0x1001c44f
mov dword [ebp - 0x1d4], 0
mov ecx, dword [ebp - 0x1d4]
not ecx
test ecx, ecx
je 0x1001c462
mov dword [ebp - 0x5c], 0x99
mov edx, dword [ebp - 0x98]
add edx, 0xc483
mov dword [ebp - 0xaa4], edx
movsx eax, byte [0x1004a03e]
cmp eax, dword [0x1004a104]
ja 0x1001c560
push 0x2e
push 0xffffffffffffff9b
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xaa8], edx
movzx eax, cl
push eax
push 0
push 0
call fcn.100248f0
add esp, 0x14
movsx ecx, al
mov dword [ebp - 0x44], ecx
movzx eax, byte [ebp - 5]
cdq
mov dword [ebp - 0x8bc], eax
mov dword [ebp - 0x8b8], edx
mov edx, dword [ebp - 0x8b8]
cmp edx, dword [ebp - 0x24]
ja 0x1001c4e2
jb 0x1001c4d6
mov eax, dword [ebp - 0x8bc]
cmp eax, dword [ebp - 0x28]
ja 0x1001c4e2
mov dword [ebp - 0x1d8], 1
jmp 0x1001c4ec
mov dword [ebp - 0x1d8], 0
movsx ecx, byte [0x1004a03e]
not ecx
test ecx, ecx
jne 0x1001c50b
cmp dword [ebp - 0x5c], 0
jne 0x1001c50b
mov dword [ebp - 0x1dc], 0
jmp 0x1001c515
mov dword [ebp - 0x1dc], 1
mov edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0x1dc]
jge 0x1001c55e
mov eax, dword [0x1004a0f8]
mov ecx, dword [0x1004a0fc]
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x8c0], ecx
mov edx, dword [ebp - 0x8c4]
or edx, dword [ebp - 0x8c0]
je 0x1001c55e
mov eax, dword [ebp - 0x68]
not eax
mov ecx, dword [ebp - 0x64]
not ecx
mov dword [ebp - 0x8cc], eax
mov dword [ebp - 0x8c8], ecx
jmp 0x1001c5a1
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x8d0], ecx
mov edx, dword [ebp - 0x8d0]
cmp edx, dword [0x1004a0ec]
jb 0x1001c5a1
ja 0x1001c590
mov eax, dword [ebp - 0x8d4]
cmp eax, dword [0x1004a0e8]
jb 0x1001c5a1
movsx ecx, word [ebp - 0x10]
imul eax, ecx, 0xbbd2
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov byte [0x1004a092], 0x1f
movsx eax, byte [0x1004a092]
cdq
mov ecx, dword [ebp - 0x28]
add ecx, 0xd414ab1f
mov esi, dword [ebp - 0x24]
adc esi, 0x7f91e
mov dword [ebp - 0x8dc], eax
mov dword [ebp - 0x8d8], edx
mov dword [ebp - 0x8e4], ecx
mov dword [ebp - 0x8e0], esi
mov edx, dword [ebp - 0x8dc]
cmp edx, dword [ebp - 0x8e4]
jne 0x1001c6e3
mov eax, dword [ebp - 0x8d8]
cmp eax, dword [ebp - 0x8e0]
jne 0x1001c6e3
movsx eax, byte [0x1004a093]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 3]
cdq
add eax, 0x153f8d4
adc edx, 0xc831b
mov dword [ebp - 0x8ec], ecx
mov dword [ebp - 0x8e8], esi
mov dword [ebp - 0x8f4], eax
mov dword [ebp - 0x8f0], edx
mov edx, dword [ebp - 0x8ec]
cmp edx, dword [ebp - 0x8f4]
jne 0x1001c6e3
mov eax, dword [ebp - 0x8e8]
cmp eax, dword [ebp - 0x8f0]
jne 0x1001c6e3
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0xaac], edx
sub ecx, 0xd5a02efe
mov word [ebp - 0x14], cx
mov eax, dword [0x1004a188]
mov ecx, dword [0x1004a18c]
mov edx, dword [0x1004a184]
add eax, dword [0x1004a180]
adc ecx, edx
mov edx, dword [0x1004a188]
mov esi, dword [0x1004a18c]
and edx, eax
and esi, ecx
mov dword [0x1004a188], edx
mov dword [0x1004a18c], esi
jmp 0x1001c6e3
mov byte [0x1004a092], 0x1f
movsx edx, byte [ebp - 1]
sub edx, 0xe7
mov dword [0x1004a144], edx
xor eax, eax
mov dword [0x1004a160], 8
mov dword [0x1004a164], eax
mov ecx, dword [ebp - 0x1e0]
add ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e0]
or edx, dword [ebp - 0x1e4]
xor ecx, edx
xor ecx, 0x2f7
mov dword [ebp - 0x510], ecx
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1004a0d0]
sub ecx, eax
mov eax, dword [0x1004a0d4]
sbb eax, edx
mov dword [0x1004a0d0], ecx
mov dword [0x1004a0d4], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x9c], ecx
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x1001c911
mov eax, dword [ebp - 0x18]
xor ecx, ecx
push ecx
push eax
push 0
push 0x86
mov eax, dword [0x1004a128]
cdq
push edx
push eax
mov edx, dword [0x1004a134]
push edx
mov eax, dword [0x1004a130]
push eax
push 0
push 0
call fcn.100243a0
add esp, 0x28
mov byte [ebp - 5], al
mov ecx, dword [ebp - 0x60]
xor edx, edx
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x8f8], edx
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x8fc]
jne 0x1001c7c1
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x8f8]
je 0x1001c7cd
mov dword [ebp - 0x1e8], 1
jmp 0x1001c7d7
mov dword [ebp - 0x1e8], 0
movzx edx, byte [ebp - 4]
test edx, edx
jne 0x1001c7eb
mov dword [ebp - 0x1ec], 1
jmp 0x1001c7f5
mov dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x1e8]
cmp eax, dword [ebp - 0x1ec]
jl 0x1001c83e
mov ecx, dword [0x1004a16c]
mov edx, 0x297283e5
sub edx, dword [0x1004a168]
mov eax, 0
sbb eax, ecx
mov ecx, dword [ebp - 0x50]
xor esi, esi
xor ecx, dword [ebp - 0x30]
xor esi, dword [ebp - 0x2c]
not ecx
not esi
add edx, ecx
adc eax, esi
mov dword [0x1004a0d8], edx
mov dword [0x1004a0dc], eax
jmp 0x1001c911
mov eax, dword [0x1004a148]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x904], eax
mov dword [ebp - 0x900], edx
mov dword [ebp - 0x90c], ecx
mov dword [ebp - 0x908], esi
mov edx, dword [ebp - 0x904]
cmp edx, dword [ebp - 0x90c]
jne 0x1001c87e
mov eax, dword [ebp - 0x900]
cmp eax, dword [ebp - 0x908]
je 0x1001c89e
mov ecx, dword [0x1004a0d8]
mov edx, dword [0x1004a0dc]
add ecx, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [0x1004a0c0], ecx
mov dword [0x1004a0c4], edx
jmp 0x1001c911
cmp dword [0x1004a17c], 0
jne 0x1001c8bb
xor eax, eax
mov dword [ebp - 0x42c], 1
mov dword [ebp - 0x428], eax
jmp 0x1001c8c6
xorps xmm0, xmm0
movlpd qword [ebp - 0x42c], xmm0
mov ecx, dword [0x1004a0ec]
cmp ecx, dword [ebp - 0x428]
ja 0x1001c8f8
jb 0x1001c8e4
mov edx, dword [0x1004a0e8]
cmp edx, dword [ebp - 0x42c]
jae 0x1001c8f8
movzx eax, byte [ebp - 3]
xor eax, 0x8c827f18
movsx ecx, byte [ebp - 1]
add ecx, eax
mov byte [ebp - 1], cl
jmp 0x1001c911
mov edx, dword [0x1004a118]
or edx, dword [0x1004a11c]
jne 0x1001c911
movzx eax, byte [ebp - 2]
imul eax, dword [ebp - 0x5c]
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x9c]
add ecx, 0x3166
mov dword [ebp - 0xab0], ecx
movzx edx, byte [ebp - 3]
not edx
mov eax, 0x75
sub eax, edx
cdq
sub eax, 0x7baef92
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xab4], edx
sub eax, ecx
mov dword [0x1004a148], eax
mov eax, dword [ebp - 0x9c]
add eax, 0xe4
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x68]
or ecx, dword [ebp - 0x64]
je 0x1001c975
mov edx, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x430], eax
jmp 0x1001c987
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xab8], edx
xor ecx, 0xfc4f
mov eax, dword [0x1004a15c]
cdq
sub eax, ecx
mov dword [0x1004a15c], eax
mov eax, dword [ebp - 0x9c]
add eax, 0xbf
mov dword [ebp - 0xabc], eax
movsx ecx, byte [0x1004a03e]
movzx edx, byte [0x1004a0bb]
cmp ecx, edx
jge 0x1001ca25
cmp dword [ebp - 0x18], 0
je 0x1001c9ea
mov eax, 0xffffb616
mov word [ebp - 0x10], ax
mov byte [0x1004a093], 0xda
jmp 0x1001ca20
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xac0], eax
add ecx, edx
movzx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
mov ecx, dword [0x1004a190]
sub ecx, dword [ebp - 0x28]
mov edx, dword [0x1004a190]
sub edx, ecx
mov dword [0x1004a190], edx
jmp 0x1001cbbf
movzx eax, byte [ebp - 3]
test eax, eax
jne 0x1001cb1e
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x914], ecx
mov dword [ebp - 0x910], edx
mov eax, dword [ebp - 0x914]
or eax, dword [ebp - 0x910]
jne 0x1001ca5d
mov dword [ebp - 0x1f0], 1
jmp 0x1001ca67
mov dword [ebp - 0x1f0], 0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x91c], ecx
mov dword [ebp - 0x918], edx
mov eax, dword [ebp - 0x91c]
or eax, dword [ebp - 0x918]
jne 0x1001ca93
mov dword [ebp - 0x1f4], 1
jmp 0x1001ca9d
mov dword [ebp - 0x1f4], 0
movzx eax, byte [0x1004a0bc]
xor eax, dword [ebp - 0x1f0]
not eax
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1004a188]
mov ebx, dword [0x1004a18c]
push edx
push eax
push ebx
push ecx
call fcn.1002e960
sub esi, eax
sbb edi, edx
not esi
not edi
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0x1f4]
mov ecx, edx
xor ebx, ebx
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x4f8], edi
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x4f4], esi
mov esi, dword [ebp - 0x2c]
add edi, eax
adc esi, edx
xor ecx, edi
xor ebx, esi
mov esi, dword [ebp - 0x4f4]
sub esi, ecx
mov edi, dword [ebp - 0x4f8]
sbb edi, ebx
not esi
not edi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], edi
jmp 0x1001cbbf
cmp dword [ebp - 0x60], 0
jne 0x1001cb4c
mov edx, dword [ebp - 0x50]
sub edx, 0x2a85
movsx eax, byte [str.address_family_not]
xor eax, edx
mov byte [str.address_family_not], al
mov cl, byte [str.address_family_not]
add cl, 1
mov byte [str.address_family_not], cl
jmp 0x1001cbbf
cmp dword [ebp - 0x60], 0
je 0x1001cbbf
movzx edx, byte [ebp - 2]
movzx eax, byte [ebp - 3]
add edx, eax
movzx ecx, byte [ebp - 2]
sub ecx, edx
mov byte [ebp - 2], cl
movsx edx, byte [0x1004a017]
imul edx, dword [ebp - 0x5c]
test edx, edx
jne 0x1001cb80
mov dword [ebp - 0x1fc], 1
jmp 0x1001cb8a
mov dword [ebp - 0x1fc], 0
cmp dword [0x1004a148], 0
jne 0x1001cb9f
mov dword [ebp - 0x1f8], 1
jmp 0x1001cba9
mov dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x1f8]
not eax
add eax, dword [ebp - 0x1fc]
mov dword [0x1004a144], eax
mov ecx, 0x1e0a1
mov dword [0x1004a0d0], 0x583656af
mov dword [0x1004a0d4], ecx
mov edx, dword [0x1004a14c]
xor eax, eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x4fc31ae0
mov esi, dword [ebp - 0x24]
adc esi, 0
mov dword [ebp - 0x924], edx
mov dword [ebp - 0x920], eax
mov dword [ebp - 0x92c], ecx
mov dword [ebp - 0x928], esi
mov edx, dword [ebp - 0x924]
cmp edx, dword [ebp - 0x92c]
jne 0x1001d036
mov eax, dword [ebp - 0x920]
cmp eax, dword [ebp - 0x928]
jne 0x1001d036
mov ecx, dword [0x1004a178]
xor edx, edx
add ecx, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [ebp - 0x934], ecx
mov dword [ebp - 0x930], edx
cmp dword [ebp - 0x934], 1
jne 0x1001d036
cmp dword [ebp - 0x930], 0
jne 0x1001d036
movsx eax, byte [0x1004a017]
movsx ecx, word [ebp - 0x10]
cmp eax, ecx
jge 0x1001cc76
mov dword [ebp - 0x200], 1
jmp 0x1001cc80
mov dword [ebp - 0x200], 0
movsx edx, byte [0x1004a017]
cmp edx, 0x5c
jge 0x1001cc98
mov dword [ebp - 0x204], 1
jmp 0x1001cca2
mov dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x200]
cmp eax, dword [ebp - 0x204]
jl 0x1001cea7
push 0
push 0
call fcn.10024090
add esp, 8
mov word [0x1004a150], ax
movsx ecx, byte [0x1004a092]
movsx edx, byte [ebp - 1]
cmp ecx, edx
je 0x1001cce1
mov dword [ebp - 0x208], 1
jmp 0x1001cceb
mov dword [ebp - 0x208], 0
mov eax, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
mov edx, dword [0x1004a0d8]
mov esi, dword [0x1004a0dc]
mov dword [ebp - 0x93c], eax
mov dword [ebp - 0x938], ecx
mov dword [ebp - 0x944], edx
mov dword [ebp - 0x940], esi
mov eax, dword [ebp - 0x938]
cmp eax, dword [ebp - 0x940]
jg 0x1001cd44
jl 0x1001cd38
mov ecx, dword [ebp - 0x93c]
cmp ecx, dword [ebp - 0x944]
ja 0x1001cd44
mov dword [ebp - 0x20c], 1
jmp 0x1001cd4e
mov dword [ebp - 0x20c], 0
mov edx, dword [ebp - 0x208]
cmp edx, dword [ebp - 0x20c]
jle 0x1001cd68
mov dword [ebp - 0x210], 1
jmp 0x1001cd72
mov dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x210]
not eax
test eax, eax
je 0x1001cdd3
movsx ecx, byte [0x1004a03f]
movsx edx, byte [ebp - 1]
cmp ecx, edx
jg 0x1001cdce
movsx eax, word [0x1004a100]
mov ecx, dword [0x1004a14c]
add ecx, eax
mov edx, dword [0x1004a14c]
add edx, ecx
mov dword [0x1004a14c], edx
movsx eax, byte [str.address_family_not]
test eax, eax
jne 0x1001cdc0
mov ecx, 1
mov word [ebp - 0x72], cx
jmp 0x1001cdc6
xor edx, edx
mov word [ebp - 0x72], dx
mov ax, word [ebp - 0x72]
mov word [ebp - 0x14], ax
jmp 0x1001cea2
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x94c], ecx
mov dword [ebp - 0x948], edx
mov dword [ebp - 0x954], eax
mov dword [ebp - 0x950], esi
mov ecx, dword [ebp - 0x948]
cmp ecx, dword [ebp - 0x950]
jb 0x1001ce21
ja 0x1001ce15
mov edx, dword [ebp - 0x94c]
cmp edx, dword [ebp - 0x954]
jbe 0x1001ce21
mov dword [ebp - 0x214], 1
jmp 0x1001ce2b
mov dword [ebp - 0x214], 0
movsx eax, byte [ebp - 1]
cmp dword [0x1004a15c], eax
jne 0x1001ce43
mov dword [ebp - 0x218], 1
jmp 0x1001ce4d
mov dword [ebp - 0x218], 0
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [ebp - 0x218]
jle 0x1001ce6b
movzx edx, byte [ebp - 3]
imul edx, dword [0x1004a154]
mov byte [ebp - 3], dl
jmp 0x1001cea2
mov eax, dword [0x1004a118]
or eax, dword [0x1004a11c]
je 0x1001ce91
movzx ecx, word [ebp - 0x14]
movzx edx, word [0x1004a124]
sub ecx, edx
movzx eax, word [ebp - 0x14]
sub eax, ecx
mov word [ebp - 0x14], ax
jmp 0x1001cea2
movzx ecx, byte [ebp - 2]
not ecx
test ecx, ecx
je 0x1001cea2
mov dword [ebp - 0x44], 2
jmp 0x1001cffa
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x95c], edx
mov dword [ebp - 0x958], eax
mov ecx, dword [ebp - 0x95c]
or ecx, dword [ebp - 0x958]
jne 0x1001cedd
mov edx, dword [ebp - 0x50]
and edx, 0xd18b
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
jmp 0x1001cffa
mov ecx, 0x17c055c1
test ecx, ecx
je 0x1001cf16
movsx edx, byte [ebp - 1]
test edx, edx
je 0x1001cef9
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x21c], eax
jmp 0x1001cf05
mov ecx, dword [0x1004a158]
mov dword [ebp - 0x21c], ecx
mov dl, byte [ebp - 0x21c]
mov byte [0x1004a092], dl
jmp 0x1001cffa
movsx eax, word [0x1004a100]
test eax, eax
jne 0x1001cf35
xor ecx, ecx
mov dword [ebp - 0x43c], 1
mov dword [ebp - 0x438], ecx
jmp 0x1001cf40
xorps xmm0, xmm0
movlpd qword [ebp - 0x43c], xmm0
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
mov dword [ebp - 0x964], edx
mov dword [ebp - 0x960], eax
mov ecx, dword [ebp - 0x43c]
cmp ecx, dword [ebp - 0x964]
jne 0x1001cf77
mov edx, dword [ebp - 0x438]
cmp edx, dword [ebp - 0x960]
je 0x1001cffa
mov eax, dword [0x1004a128]
cdq
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov dword [ebp - 0x96c], eax
mov dword [ebp - 0x968], edx
mov edx, dword [ebp - 0x96c]
or edx, dword [ebp - 0x968]
jne 0x1001cfb8
mov dword [ebp - 0x220], 1
jmp 0x1001cfc2
mov dword [ebp - 0x220], 0
movsx eax, word [ebp - 0xc]
xor eax, dword [0x1004a144]
imul eax, dword [ebp - 0x220]
cdq
mov ecx, eax
movsx eax, byte [0x1004a092]
cdq
mov edx, dword [ebp - 0x68]
sub edx, eax
mov eax, dword [0x1004a14c]
not eax
movzx esi, byte [0x1004a0bc]
sub eax, esi
sub edx, eax
add ecx, edx
mov byte [ebp - 6], cl
jmp 0x1001cbbf
mov ax, word [0x1004a15c]
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x224]
sub ecx, dword [ebp - 0x224]
xor ecx, 0xc3
mov dword [ebp - 0x51c], ecx
cmp dword [ebp - 0x18], 0
je 0x1001d129
push 0
push 0
push 0
push 5
movzx eax, byte [ebp - 3]
cdq
push edx
push eax
push 0
push 0xc1
mov edx, dword [0x1004a158]
xor eax, eax
push eax
push edx
call fcn.100243a0
add esp, 0x28
mov dword [0x1004a0c8], eax
cmp dword [0x1004a0c8], 0
jne 0x1001d0a4
mov dword [ebp - 0x228], 1
jmp 0x1001d0ae
mov dword [ebp - 0x228], 0
cmp dword [0x1004a0c8], 0x28
jne 0x1001d0c3
mov dword [ebp - 0x22c], 1
jmp 0x1001d0cd
mov dword [ebp - 0x22c], 0
mov ecx, dword [ebp - 0x228]
cmp ecx, dword [ebp - 0x22c]
jle 0x1001d10f
movsx eax, byte [0x1004a03f]
cdq
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
xor ecx, eax
xor esi, edx
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
and edx, ecx
and eax, esi
mov dword [0x1004a130], edx
mov dword [0x1004a134], eax
jmp 0x1001d127
imul eax, dword [0x1004a128], 0x345d35ba
not eax
cdq
mov dword [0x1004a118], eax
mov dword [0x1004a11c], edx
jmp 0x1001d144
movsx ecx, byte [0x1004a093]
add ecx, dword [ebp - 0x18]
je 0x1001d144
mov edx, dword [ebp - 0x60]
add edx, 0xc2
mov byte [0x1004a03e], dl
mov eax, dword [0x1004ac78]
mov dword [ebp - 0xa4], eax
mov dword [0x1004a140], 1
mov eax, dword [0x1004a140]
cdq
add eax, 0x8e0179f
mov byte [0x1004a093], al
mov byte [str.address_family_not], 1
mov ecx, dword [0x1004a140]
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0
je 0x1001d190
cmp dword [ebp - 0x230], 1
je 0x1001d1b7
jmp 0x1001d1d1
mov edx, dword [0x1004a0e0]
mov eax, dword [0x1004a0e4]
mov dword [0x1004a108], edx
mov dword [0x1004a10c], eax
movsx eax, word [ebp - 0x10]
cdq
xor eax, 0xe20e83af
mov dword [0x1004a128], eax
jmp 0x1001d1d1
movsx ecx, word [ebp - 0xc]
imul edx, ecx, 0xc6f1
mov word [ebp - 0x14], dx
movzx eax, byte [ebp - 4]
add eax, 0x13
mov dword [0x1004a158], eax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x23e
mov dword [ebp - 0xcc], ecx
mov edx, dword [0x1004a158]
xor eax, eax
push eax
push edx
movsx eax, byte [ebp - 1]
cdq
push edx
push eax
push 0
push 0x9a
push 0
push 0
push 0
push 0x13
call fcn.100243a0
add esp, 0x28
mov word [ebp - 0x14], ax
movzx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x1001d238
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x1004a188]
mov esi, dword [0x1004a18c]
add ecx, eax
adc esi, edx
mov dword [0x1004a188], ecx
mov dword [0x1004a18c], esi
mov edx, dword [ebp - 0x4fc]
add edx, dword [ebp - 0xa4]
mov dword [ebp - 0x518], edx
movsx eax, word [0x1004a120]
movzx ecx, byte [ebp - 5]
cmp eax, ecx
jg 0x1001d29d
mov dword [ebp - 0xa0], 0xd8
jmp 0x1001d274
mov edx, dword [ebp - 0xa0]
sub edx, 1
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], 0
jle 0x1001d29d
mov eax, dword [0x1004a190]
add eax, 0x20566ccf
mov byte [0x1004a092], al
mov cl, byte [0x1004a017]
add cl, 1
mov byte [0x1004a017], cl
jmp 0x1001d265
mov edx, dword [ebp - 0xa4]
add edx, 0x1c0
mov dword [ebp - 0x28c], edx
lea eax, [ebp - 0xbc8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov byte [0x1004a017], al
movsx ecx, byte [0x1004a017]
test ecx, ecx
jle 0x1001d2d8
mov dword [ebp - 0x234], 1
jmp 0x1001d2e2
mov dword [ebp - 0x234], 0
movsx edx, byte [0x1004a017]
cmp edx, 0x25
jle 0x1001d2fa
mov dword [ebp - 0x238], 1
jmp 0x1001d304
mov dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x234]
cmp eax, dword [ebp - 0x238]
jg 0x1001d39a
mov dword [ebp - 0xa8], 0x118b
movzx eax, word [0x1004a0f0]
cdq
mov ecx, dword [0x1004a0e8]
not ecx
mov esi, dword [0x1004a0ec]
not esi
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx edx, byte [0x1004a0bb]
movzx eax, byte [ebp - 6]
movsx ecx, byte [ebp - 1]
add eax, ecx
sub edx, eax
mov word [0x1004a0cc], dx
cmp dword [ebp - 0xa8], 0x1058
jle 0x1001d398
movzx eax, byte [ebp - 4]
cdq
xor eax, dword [ebp - 0x38]
mov byte [ebp - 4], al
movzx edx, byte [ebp - 4]
imul eax, edx, 0x340e
mov byte [0x1004a093], al
mov ecx, dword [ebp - 0xa8]
sub ecx, 1
mov dword [ebp - 0xa8], ecx
jmp 0x1001d361
jmp 0x1001d3ad
mov edx, dword [0x1004a128]
sub edx, 0x6557080a
mov word [0x1004a124], dx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0xb0], eax
movsx ecx, word [ebp - 0x10]
sub ecx, 0x8a60
cmp ecx, dword [ebp - 0x18]
ja 0x1001d3d3
mov dword [ebp - 0x244], 1
jmp 0x1001d3dd
mov dword [ebp - 0x244], 0
movsx edx, byte [0x1004a092]
test edx, edx
jne 0x1001d3f4
mov dword [ebp - 0x23c], 1
jmp 0x1001d3fe
mov dword [ebp - 0x23c], 0
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x970], edx
mov dword [ebp - 0x97c], ecx
mov dword [ebp - 0x978], esi
mov edx, dword [ebp - 0x974]
cmp edx, dword [ebp - 0x97c]
jne 0x1001d449
mov eax, dword [ebp - 0x970]
cmp eax, dword [ebp - 0x978]
jne 0x1001d449
mov dword [ebp - 0x240], 1
jmp 0x1001d453
mov dword [ebp - 0x240], 0
mov ecx, dword [ebp - 0x23c]
cmp ecx, dword [ebp - 0x240]
jge 0x1001d46d
mov dword [ebp - 0x248], 1
jmp 0x1001d477
mov dword [ebp - 0x248], 0
mov edx, dword [ebp - 0x244]
not edx
cmp edx, dword [ebp - 0x248]
jl 0x1001d4a5
push 0
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
xor ecx, ecx
mov dword [0x1004a130], eax
mov dword [0x1004a134], ecx
jmp 0x1001d4bf
movsx edx, byte [0x1004a093]
test edx, edx
je 0x1001d4bf
movzx eax, word [0x1004a0cc]
sar eax, 4
mov byte [0x1004a0ba], al
mov ecx, dword [ebp - 0x500]
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0xac], 0
jmp 0x1001d4ec
mov edx, dword [ebp - 0xac]
add edx, 2
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0xac], 0xf1
jge 0x1001d5c3
push 0x1003b314
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x1001d51c
mov dword [ebp - 0x24c], 1
jmp 0x1001d526
mov dword [ebp - 0x24c], 0
cmp dword [ebp - 0x18], 0x59
jne 0x1001d538
mov dword [ebp - 0x250], 1
jmp 0x1001d542
mov dword [ebp - 0x250], 0
mov eax, dword [ebp - 0x24c]
cmp eax, dword [ebp - 0x250]
jge 0x1001d595
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x984], ecx
mov dword [ebp - 0x980], edx
mov eax, dword [ebp - 0x984]
or eax, dword [ebp - 0x980]
je 0x1001d57b
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x254], ecx
jmp 0x1001d585
movsx edx, word [ebp - 0x10]
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x254]
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
jmp 0x1001d5af
movzx eax, byte [ebp - 5]
add eax, 0xc7
cdq
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov eax, dword [ebp - 0x24]
sbb eax, edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
mov cl, byte [0x1004a093]
add cl, 1
mov byte [0x1004a093], cl
jmp 0x1001d4dd
mov edx, dword [ebp - 0xb0]
add edx, 0x27b
mov dword [ebp - 0xac4], edx
mov eax, dword [0x1004a15c]
cdq
mov ecx, dword [0x1004a160]
mov esi, dword [0x1004a164]
mov dword [ebp - 0x98c], eax
mov dword [ebp - 0x988], edx
mov dword [ebp - 0x994], ecx
mov dword [ebp - 0x990], esi
mov edx, dword [ebp - 0x988]
cmp edx, dword [ebp - 0x990]
ja 0x1001d629
jb 0x1001d61d
mov eax, dword [ebp - 0x98c]
cmp eax, dword [ebp - 0x994]
jae 0x1001d629
mov dword [ebp - 0x258], 1
jmp 0x1001d633
mov dword [ebp - 0x258], 0
cmp dword [0x1004a15c], 0x2c
jge 0x1001d648
mov dword [ebp - 0x25c], 1
jmp 0x1001d652
mov dword [ebp - 0x25c], 0
mov ecx, dword [ebp - 0x258]
cmp ecx, dword [ebp - 0x25c]
jg 0x1001d723
movsx eax, word [0x1004a100]
cdq
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], edx
mov edx, dword [0x1004a0d4]
cmp edx, dword [ebp - 0x998]
ja 0x1001d6a1
jb 0x1001d695
mov eax, dword [0x1004a0d0]
cmp eax, dword [ebp - 0x99c]
ja 0x1001d6a1
mov dword [ebp - 0x260], 1
jmp 0x1001d6ab
mov dword [ebp - 0x260], 0
cmp dword [0x1004a0d4], 0
ja 0x1001d6cb
jb 0x1001d6bf
cmp dword [0x1004a0d0], 0x26
ja 0x1001d6cb
mov dword [ebp - 0x264], 1
jmp 0x1001d6d5
mov dword [ebp - 0x264], 0
mov ecx, dword [ebp - 0x260]
cmp ecx, dword [ebp - 0x264]
jge 0x1001d702
movzx edx, word [0x1004a0f0]
imul eax, edx, 0xda
movzx ecx, word [0x1004a0f0]
sub ecx, eax
mov word [0x1004a0f0], cx
jmp 0x1001d721
cmp dword [0x1004a148], 0
je 0x1001d721
movzx edx, byte [0x1004a0bc]
movzx eax, word [0x1004a0f0]
xor edx, eax
mov byte [0x1004a0bc], dl
jmp 0x1001d746
movsx eax, byte [str.address_family_not]
cdq
mov ecx, dword [0x1004a0d8]
mov edx, dword [0x1004a0dc]
mov dword [ebp - 0xac8], edx
add ecx, eax
mov word [0x1004a100], cx
mov eax, dword [ebp - 0xb0]
add eax, 0x147
mov dword [ebp - 0xacc], eax
movzx eax, word [0x1004a124]
cdq
mov dword [0x1004a170], eax
mov dword [0x1004a174], edx
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x44], 4
movzx edx, byte [0x1004a06b]
test edx, edx
jne 0x1001d79c
xor eax, eax
mov dword [ebp - 0x444], 1
mov dword [ebp - 0x440], eax
jmp 0x1001d7a7
xorps xmm0, xmm0
movlpd qword [ebp - 0x444], xmm0
mov ecx, dword [ebp - 0x440]
push ecx
mov edx, dword [ebp - 0x444]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1002e960
mov dword [0x1004a144], eax
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x268], edx
cmp dword [ebp - 0x268], 4
ja case.default.0x1001d7e3
mov eax, dword [ebp - 0x268]
jmp dword [eax*4 + 0x10021d74]
movsx ecx, byte [0x1004a017]
imul edx, ecx, 0xea99
mov dword [0x1004a128], edx
mov eax, dword [0x1004a154]
sub eax, 1
mov dword [0x1004a154], eax
jmp case.default.0x1001d7e3
imul eax, dword [ebp - 0x5c], 0x149f
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [0x1004a170]
or ecx, dword [0x1004a174]
jne 0x1001d837
mov dword [ebp - 0x26c], 1
jmp 0x1001d841
mov dword [ebp - 0x26c], 0
movsx edx, byte [0x1004a017]
xor edx, dword [ebp - 0x26c]
mov dword [0x1004a128], edx
jmp case.default.0x1001d7e3
movzx eax, byte [ebp - 3]
movzx ecx, byte [0x1004a06b]
sub eax, ecx
movzx edx, byte [ebp - 3]
add edx, eax
mov byte [ebp - 3], dl
movzx eax, byte [ebp - 2]
test eax, eax
jne 0x1001d883
mov dword [ebp - 0x270], 1
jmp 0x1001d88d
mov dword [ebp - 0x270], 0
movzx ecx, byte [ebp - 6]
test ecx, ecx
jne 0x1001d8a1
mov dword [ebp - 0x274], 1
jmp 0x1001d8ab
mov dword [ebp - 0x274], 0
mov edx, dword [ebp - 0x270]
sub edx, dword [0x1004a0c8]
movzx eax, byte [0x1004a0bb]
add eax, dword [0x1004a104]
sub edx, eax
movsx ecx, byte [0x1004a092]
mov eax, dword [ebp - 0x274]
sub eax, dword [0x1004a110]
sub ecx, eax
not ecx
add edx, ecx
xor ecx, ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
jmp case.default.0x1001d7e3
mov edx, dword [ebp - 0x68]
add edx, 0xa12772
mov eax, dword [ebp - 0x64]
adc eax, 0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
jmp case.default.0x1001d7e3
movzx eax, byte [ebp - 3]
add eax, 0x4a
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x5c]
add eax, 0x57
cdq
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x353
mov dword [ebp - 0xad0], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x9a4], edx
mov dword [ebp - 0x9a0], eax
mov ecx, dword [ebp - 0x9a4]
or ecx, dword [ebp - 0x9a0]
je 0x1001d966
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x3d4], edx
mov dword [ebp - 0x3d0], eax
jmp 0x1001d977
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x3d4], ecx
mov dword [ebp - 0x3d0], edx
mov eax, dword [ebp - 0x3d4]
mov ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0xb8]
add edx, 0x2e1
mov dword [ebp - 0xad4], edx
mov dword [ebp - 0xb4], 0x5c1
movsx eax, word [0x1004a100]
cdq
mov ecx, dword [0x1004a180]
mov edx, dword [0x1004a184]
mov dword [ebp - 0xad8], edx
sub eax, ecx
mov word [0x1004a100], ax
movsx eax, byte [ebp - 1]
sub eax, 0x5a
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0xb4], 0x468
jle 0x1001da4e
mov eax, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov cl, 2
call fcn.1002e9c0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [0x1004a184]
mov ecx, 0x1603232c
sub ecx, dword [0x1004a180]
mov edx, 0
sbb edx, eax
mov dword [ebp - 0x9ac], ecx
mov dword [ebp - 0x9a8], edx
mov eax, dword [ebp - 0x9ac]
or eax, dword [ebp - 0x9a8]
jne 0x1001da30
mov byte [ebp - 0x6f], 1
jmp 0x1001da34
mov byte [ebp - 0x6f], 0
mov cl, byte [ebp - 0x6f]
mov byte [0x1004a03e], cl
mov edx, dword [ebp - 0xb4]
sub edx, 1
mov dword [ebp - 0xb4], edx
jmp 0x1001d9d5
mov eax, dword [ebp - 0xb8]
add eax, 0x101
mov dword [ebp - 0x52c], eax
mov ecx, 1
imul edx, ecx, 0x6044
movsx ax, byte [edx + 0x101f09f8]
mov word [0x1004a120], ax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xc0], ecx
push 0x1003b320
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x1004a15c], eax
mov edx, dword [ebp - 0x504]
add edx, dword [ebp - 0xc0]
mov dword [ebp - 0x534], edx
mov dword [0x1004a190], 2
mov eax, dword [0x1004a0f8]
mov ecx, dword [0x1004a0fc]
sub eax, 0xe8b8
sbb ecx, 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x18]
not edx
mov eax, dword [0x1004a190]
add eax, edx
mov dword [0x1004a14c], eax
mov ecx, dword [0x1004a190]
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xbc], 0
je 0x1001db03
cmp dword [ebp - 0xbc], 1
je 0x1001db20
cmp dword [ebp - 0xbc], 2
je 0x1001db40
jmp 0x1001db5f
movzx edx, byte [ebp - 5]
imul eax, edx, 0x2d
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [0x1004a104]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
jmp 0x1001db5f
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
add ecx, dword [0x1004a118]
movsx eax, byte [ebp - 1]
cdq
and ecx, eax
mov byte [ebp - 1], cl
mov dword [ebp - 0x50], 0x25d46a5c
jmp 0x1001db5f
movsx edx, byte [0x1004a03e]
movsx eax, byte [0x1004a03e]
sub edx, eax
movsx ecx, byte [0x1004a03e]
add ecx, edx
mov byte [0x1004a03e], cl
mov edx, dword [ebp - 0xc0]
add edx, 0x3a4
mov dword [ebp - 0x530], edx
movzx eax, byte [ebp - 3]
movzx ecx, word [ebp - 0x14]
cmp eax, ecx
jg 0x1001db8b
movzx dx, byte [0x1004a0bb]
mov word [ebp - 0x14], dx
jmp 0x1001dbb4
movsx eax, word [0x1004a120]
movzx ecx, byte [ebp - 4]
and eax, ecx
mov word [0x1004a120], ax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xadc], eax
add edx, 0x6b
mov word [0x1004a150], dx
mov ecx, dword [ebp - 0xc0]
add ecx, 0x253
mov dword [ebp - 0x328], ecx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0xae0], edx
sub eax, ecx
mov ecx, dword [ebp - 0x60]
sub ecx, eax
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x508]
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0x548], edx
movzx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
add ecx, eax
adc esi, edx
mov edx, dword [0x1004a0f8]
mov eax, dword [0x1004a0fc]
add edx, ecx
adc eax, esi
mov dword [0x1004a0f8], edx
mov dword [0x1004a0fc], eax
movzx ecx, byte [0x1004a0bc]
sub ecx, dword [ebp - 0x50]
mov byte [0x1004a0bc], cl
mov edx, dword [ebp - 0x50c]
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0x100], edx
movzx eax, byte [ebp - 3]
test eax, eax
jne 0x1001dc68
mov dword [ebp - 0x278], 1
jmp 0x1001dc72
mov dword [ebp - 0x278], 0
mov ecx, dword [ebp - 0x278]
cmp ecx, dword [0x1004a158]
ja 0x1001dc8c
mov dword [ebp - 0x27c], 1
jmp 0x1001dc96
mov dword [ebp - 0x27c], 0
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
jne 0x1001dcaa
mov dword [ebp - 0x280], 1
jmp 0x1001dcb4
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x27c]
imul eax, dword [ebp - 0x280]
test eax, eax
je 0x1001de40
xor ecx, ecx
mov dword [ebp - 0x58], 4
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov cl, 5
call fcn.1002e9a0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov byte [0x1004a0ba], 0xfc
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
jl 0x1001de3e
jg 0x1001dd1d
cmp dword [ebp - 0x13c], 0
jb 0x1001de3e
cmp dword [ebp - 0x138], 0
jg 0x1001de3e
jl 0x1001dd39
cmp dword [ebp - 0x13c], 4
ja 0x1001de3e
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xbbc], ecx
mov edx, dword [ebp - 0xbbc]
jmp dword [edx*4 + 0x10021d88]
jmp 0x1001de69
mov eax, 0xbb1c
test eax, eax
je 0x1001de69
xor ecx, ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
and edx, dword [0x1004a178]
and eax, ecx
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
mov edx, dword [ebp - 0xc4]
add edx, 0x3d5
mov dword [ebp - 0x544], edx
mov eax, dword [ebp - 0x50]
cmp eax, dword [0x1004a0c8]
jne 0x1001de92
mov dword [ebp - 0x284], 1
jmp 0x1001de9c
mov dword [ebp - 0x284], 0
cmp dword [ebp - 0x50], 0x27
jne 0x1001deae
mov dword [ebp - 0x288], 1
jmp 0x1001deb8
mov dword [ebp - 0x288], 0
mov ecx, dword [ebp - 0x284]
cmp ecx, dword [ebp - 0x288]
jge 0x1001df07
cmp dword [0x1004a154], 0
je 0x1001df05
movzx eax, byte [0x1004a056]
cdq
sub eax, 0xed9e2c66
sbb edx, 0x157c8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xae4], eax
mov ecx, 1
imul eax, ecx, 0xb8
mov byte [eax + 0x101bd950], dl
jmp 0x1001df23
mov ecx, dword [0x1004a154]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1002e960
mov dword [0x1004a110], eax
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xc8], edx
push 0
lea eax, [ebp - 0x13e8]
push eax
push 0x104
push 0x1003b328
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov dword [0x1004a104], eax
mov ecx, dword [ebp - 0x510]
add ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x558], ecx
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1004a0e8]
sub ecx, eax
mov eax, dword [0x1004a0ec]
sbb eax, edx
mov dword [0x1004a0e8], ecx
mov dword [0x1004a0ec], eax
mov ecx, dword [0x1004a0d0]
not ecx
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0xc8]
add edx, 0x2f4
mov dword [ebp - 0xae8], edx
mov dword [ebp - 0x514], 0x104
lea eax, [ebp - 0x514]
push eax
lea ecx, [ebp - 0xdd0]
push ecx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor edx, edx
mov dword [0x1004a0d0], eax
mov dword [0x1004a0d4], edx
mov eax, dword [ebp - 0xc8]
add eax, 0xf1
mov dword [ebp - 0x380], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov word [ebp - 0x6c], ax
mov ecx, dword [ebp - 0xcc]
sub ecx, dword [ebp - 0x518]
mov edx, dword [ebp - 0xcc]
imul edx, dword [ebp - 0x28c]
imul ecx, edx
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x28c]
cmp ecx, eax
je 0x10021b0b
movzx ecx, word [0x1004a0f0]
cmp ecx, dword [ebp - 0x5c]
jne 0x1001e03f
lea edx, [ebp - 0xed4]
push edx
push 0
push 0x1003b334
push 0x1003b338
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov byte [ebp - 1], al
jmp 0x1001e14f
movsx eax, word [0x1004a100]
test eax, eax
jne 0x1001e056
mov dword [ebp - 0x290], 1
jmp 0x1001e060
mov dword [ebp - 0x290], 0
movsx ecx, word [ebp - 0x10]
cmp dword [ebp - 0x290], ecx
jle 0x1001e078
mov dword [ebp - 0x294], 1
jmp 0x1001e082
mov dword [ebp - 0x294], 0
cmp dword [ebp - 0x294], 0
je 0x1001e0bb
movzx edx, byte [ebp - 3]
imul eax, edx, 0x783ff3bd
cdq
mov dword [0x1004a0d0], eax
mov dword [0x1004a0d4], edx
movzx eax, word [0x1004a124]
imul ecx, eax, 0xea
mov edx, dword [ebp - 0x50]
add edx, ecx
mov dword [ebp - 0x50], edx
jmp 0x1001e14f
movzx eax, byte [0x1004a0bb]
test eax, eax
jne 0x1001e0cf
mov ecx, 0xf4
test ecx, ecx
je 0x1001e113
mov edx, dword [ebp - 0x44]
xor edx, 0x80dd
jne 0x1001e0ee
xor eax, eax
mov dword [ebp - 0x44c], 1
mov dword [ebp - 0x448], eax
jmp 0x1001e0f9
xorps xmm0, xmm0
movlpd qword [ebp - 0x44c], xmm0
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x448]
mov dword [0x1004a0d0], ecx
mov dword [0x1004a0d4], edx
jmp 0x1001e14f
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x9b4], eax
mov dword [ebp - 0x9b0], ecx
mov edx, dword [ebp - 0x9b4]
or edx, dword [ebp - 0x9b0]
je 0x1001e13b
movsx eax, word [ebp - 0xc]
test eax, eax
je 0x1001e14f
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xaec], eax
add ecx, edx
mov dword [ebp - 0x18], ecx
mov byte [0x1004a06b], 0xdd
movzx eax, byte [0x1004a06b]
cdq
mov ecx, dword [ebp - 0x40]
add ecx, 0xdd
mov esi, dword [ebp - 0x3c]
adc esi, 0
mov dword [ebp - 0x9bc], eax
mov dword [ebp - 0x9b8], edx
mov dword [ebp - 0x9c4], ecx
mov dword [ebp - 0x9c0], esi
mov edx, dword [ebp - 0x9bc]
cmp edx, dword [ebp - 0x9c4]
jne 0x1001e23a
mov eax, dword [ebp - 0x9b8]
cmp eax, dword [ebp - 0x9c0]
jne 0x1001e23a
mov ecx, dword [0x1004a158]
xor edx, edx
mov eax, dword [ebp - 0x28]
add eax, 0xca
mov esi, dword [ebp - 0x24]
adc esi, 0
mov dword [ebp - 0x9cc], ecx
mov dword [ebp - 0x9c8], edx
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d0], esi
mov ecx, dword [ebp - 0x9cc]
cmp ecx, dword [ebp - 0x9d4]
jne 0x1001e23a
mov edx, dword [ebp - 0x9c8]
cmp edx, dword [ebp - 0x9d0]
jne 0x1001e23a
push 0x1003b33c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ecx, ecx
mov dword [str.J64_], eax
mov dword [0x1004a13c], ecx
jmp 0x1001e23a
mov byte [0x1004a06b], 0xdd
movzx eax, byte [0x1004a056]
cdq
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x38]
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
movzx eax, byte [0x1004a056]
cdq
add eax, ecx
mov byte [0x1004a056], al
movsx edx, word [ebp - 0xc]
test edx, edx
jne 0x1001e27d
mov dword [ebp - 0x298], 1
jmp 0x1001e287
mov dword [ebp - 0x298], 0
movzx eax, byte [ebp - 2]
movsx ecx, word [ebp - 0xc]
add ecx, dword [0x1004a178]
imul ecx, dword [ebp - 0x298]
sub eax, ecx
not eax
mov dword [0x1004a17c], eax
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
movsx eax, word [0x1004a100]
cdq
mov dword [ebp - 0x9dc], ecx
mov dword [ebp - 0x9d8], esi
mov dword [ebp - 0x9e4], eax
mov dword [ebp - 0x9e0], edx
mov edx, dword [ebp - 0x9dc]
cmp edx, dword [ebp - 0x9e4]
jne 0x1001e2f9
mov eax, dword [ebp - 0x9d8]
cmp eax, dword [ebp - 0x9e0]
jne 0x1001e2f9
mov dword [ebp - 0x29c], 1
jmp 0x1001e303
mov dword [ebp - 0x29c], 0
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x9ec], ecx
mov dword [ebp - 0x9e8], edx
cmp dword [ebp - 0x9ec], 0x43
jne 0x1001e339
cmp dword [ebp - 0x9e8], 0
jne 0x1001e339
mov dword [ebp - 0x2a0], 1
jmp 0x1001e343
mov dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x29c]
cmp eax, dword [ebp - 0x2a0]
jne 0x1001e431
mov ecx, 2
mov word [ebp - 0x14], cx
movzx edx, byte [ebp - 4]
xor edx, 0x4d
movsx eax, byte [ebp - 1]
xor eax, edx
mov byte [ebp - 1], al
xor ecx, ecx
mov dword [0x1004a0d8], 0x46a633df
mov dword [0x1004a0dc], ecx
movzx edx, word [ebp - 0x14]
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0
je 0x1001e3aa
cmp dword [ebp - 0xd0], 1
je 0x1001e3f0
cmp dword [ebp - 0xd0], 2
je 0x1001e40b
jmp 0x1001e42f
movzx eax, byte [0x1004a0bb]
cdq
mov ecx, dword [0x1004a0c4]
add eax, dword [0x1004a0c0]
adc edx, ecx
movsx ecx, byte [0x1004a017]
mov esi, dword [0x1004a144]
sub esi, ecx
movsx ecx, byte [0x1004a092]
mov edi, dword [ebp - 0x18]
sub edi, ecx
sub esi, edi
xor ecx, ecx
add eax, esi
adc edx, ecx
mov dword [0x1004a130], eax
mov dword [0x1004a134], edx
jmp 0x1001e42f
mov edx, 2
imul eax, edx, 0x99a2
movsx eax, word [eax + 0x101fc880]
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
jmp 0x1001e42f
mov ecx, 0xe78d
mov word [0x1004a150], cx
movsx eax, word [ebp - 0x10]
add eax, 0x16
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
jmp 0x1001e476
movzx eax, byte [0x1004a0bc]
cdq
xor eax, dword [ebp - 0x38]
xor edx, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, word [ebp - 0x10]
cdq
add eax, dword [0x1004a170]
adc edx, dword [0x1004a174]
mov ecx, dword [0x1004a170]
sub ecx, eax
mov eax, dword [0x1004a174]
sbb eax, edx
mov dword [0x1004a170], ecx
mov dword [0x1004a174], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0xd4], ecx
mov dword [0x1004a140], 4
movsx ecx, byte [0x1004a03f]
xor ecx, 0x89a52550
movsx edx, word [0x1004a120]
imul eax, edx, 0xfccdde9b
sub ecx, eax
xor esi, esi
movzx eax, byte [ebp - 2]
add eax, 0xb9
cdq
mov edi, dword [0x1004a0c0]
mov ebx, dword [0x1004a0c4]
add edi, eax
adc ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1002e960
mov byte [ebp - 6], al
mov ecx, dword [0x1004a140]
mov dword [ebp - 0x2a4], ecx
cmp dword [ebp - 0x2a4], 4
ja case.default.0x1001e4ef
mov edx, dword [ebp - 0x2a4]
jmp dword [edx*4 + 0x10021d9c]
mov eax, dword [0x1004a170]
sub eax, 1
mov ecx, dword [0x1004a174]
sbb ecx, 0
mov dword [0x1004a170], eax
mov dword [0x1004a174], ecx
jmp case.default.0x1001e4ef
xor edx, edx
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
sbb ecx, edx
add eax, dword [ebp - 0x68]
adc ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
jmp case.default.0x1001e4ef
movzx edx, byte [ebp - 6]
test edx, edx
jne 0x1001e549
mov dword [ebp - 0x2a8], 1
jmp 0x1001e553
mov dword [ebp - 0x2a8], 0
movzx eax, byte [ebp - 6]
add eax, dword [ebp - 0x2a8]
cdq
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
add eax, 0x99a6
adc ecx, 0
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
add edx, eax
adc esi, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], esi
jmp case.default.0x1001e4ef
mov eax, dword [0x1004a108]
or eax, dword [0x1004a10c]
je 0x1001e5ad
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x450], edx
jmp 0x1001e5bf
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x44], edx
mov eax, dword [0x1004a128]
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
jmp case.default.0x1001e4ef
mov edx, dword [0x1004a118]
add edx, 0x5074
mov eax, dword [0x1004a11c]
adc eax, 0
mov ecx, dword [ebp - 0x40]
sub ecx, edx
mov edx, dword [ebp - 0x3c]
sbb edx, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xd4]
add edx, 0x32
mov dword [ebp - 0xaf0], edx
mov eax, dword [ebp - 0x60]
xor ecx, ecx
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push esi
push edx
push ecx
push eax
call fcn.1002e960
mov ecx, dword [ebp - 0x60]
sub ecx, eax
mov dword [ebp - 0x60], ecx
movsx edx, word [ebp - 0xc]
xor edx, 0x2b7b9cf1
movsx eax, byte [0x1004a017]
add eax, edx
mov byte [0x1004a017], al
mov ecx, dword [ebp - 0xd4]
add ecx, 0xfc
mov dword [ebp - 0x2ac], ecx
mov edx, dword [str.J64_]
or edx, dword [0x1004a13c]
je 0x1001e707
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1004a160]
mov esi, dword [0x1004a164]
sub ecx, eax
sbb esi, edx
movsx eax, byte [0x1004a093]
mov edx, dword [0x1004a110]
not edx
imul eax, edx
cdq
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x9f4], ecx
mov dword [ebp - 0x9f0], esi
mov eax, dword [ebp - 0x9f4]
or eax, dword [ebp - 0x9f0]
jne 0x1001e6ea
xor ecx, ecx
mov dword [ebp - 0x9fc], 1
mov dword [ebp - 0x9f8], ecx
jmp 0x1001e6f5
xorps xmm0, xmm0
movlpd qword [ebp - 0x9fc], xmm0
mov edx, dword [ebp - 0x9fc]
xor edx, dword [0x1004a0d0]
mov dword [0x1004a178], edx
mov eax, dword [ebp - 0xd4]
add eax, 0x10c
mov dword [ebp - 0xaf4], eax
mov ecx, dword [0x1004a148]
xor ecx, 0x7cf0f78e
mov dword [0x1004a104], ecx
mov dx, word [0x1004a0cc]
sub dx, 1
mov word [0x1004a0cc], dx
movzx eax, byte [ebp - 2]
movzx ecx, byte [ebp - 2]
cmp eax, ecx
je 0x1001e767
lea edx, [ebp - 0xfd8]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x1001e823
movsx edx, byte [0x1004a03f]
movsx eax, byte [ebp - 1]
cmp edx, eax
je 0x1001e78b
movsx eax, byte [0x1004a03f]
cdq
sub eax, 0x68ef686b
mov byte [ebp - 1], al
jmp 0x1001e823
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov dword [ebp - 0xa04], ecx
mov dword [ebp - 0xa00], edx
mov eax, dword [ebp - 0xa04]
cmp eax, dword [str.J64_]
jne 0x1001e7d6
mov ecx, dword [ebp - 0xa00]
cmp ecx, dword [0x1004a13c]
jne 0x1001e7d6
movsx edx, byte [0x1004a017]
movzx eax, byte [ebp - 5]
sub edx, eax
movsx ecx, byte [0x1004a017]
add ecx, edx
mov byte [0x1004a017], cl
jmp 0x1001e823
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x60]
xor esi, esi
mov dword [ebp - 0xa0c], edx
mov dword [ebp - 0xa08], eax
mov dword [ebp - 0xa14], ecx
mov dword [ebp - 0xa10], esi
mov edx, dword [ebp - 0xa08]
cmp edx, dword [ebp - 0xa10]
jl 0x1001e823
jg 0x1001e817
mov eax, dword [ebp - 0xa0c]
cmp eax, dword [ebp - 0xa14]
jbe 0x1001e823
movsx ecx, byte [ebp - 1]
mov edx, dword [ebp - 0x18]
add edx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x2ac]
or eax, dword [ebp - 0x2ac]
add eax, 0x16d
mov dword [ebp - 0x528], eax
movzx ecx, word [ebp - 0x6c]
cmp ecx, 0x42b
jne 0x1001e979
push 0
push 0
mov edx, dword [ebp - 0x50]
xor eax, eax
push eax
push edx
push 0
push 0
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
push 0
push 0xe9
call fcn.100243a0
add esp, 0x28
mov dword [ebp - 0x50], eax
movsx eax, word [ebp - 0x10]
test eax, eax
je 0x1001e894
push 0
push 0x1003b348
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [0x1004a15c], eax
jmp 0x1001e964
cmp dword [0x1004a15c], 0
je 0x1001e8e6
movzx eax, byte [ebp - 2]
add eax, 0xfb55
cdq
mov ecx, dword [0x1004a104]
xor esi, esi
and ecx, dword [0x1004a108]
and esi, dword [0x1004a10c]
not ecx
not esi
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1004a0bc]
cdq
xor ecx, eax
xor esi, edx
mov dword [0x1004a180], ecx
mov dword [0x1004a184], esi
jmp 0x1001e964
cmp dword [ebp - 0x5c], 0
jne 0x1001e900
xor edx, edx
mov dword [ebp - 0x45c], 1
mov dword [ebp - 0x458], edx
jmp 0x1001e90b
xorps xmm0, xmm0
movlpd qword [ebp - 0x45c], xmm0
mov eax, dword [0x1004a130]
mov ecx, dword [0x1004a134]
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa18], ecx
mov edx, dword [ebp - 0x458]
cmp edx, dword [ebp - 0xa18]
jb 0x1001e964
ja 0x1001e940
mov eax, dword [ebp - 0x45c]
cmp eax, dword [ebp - 0xa1c]
jb 0x1001e964
mov ecx, dword [ebp - 0x50]
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
mov dword [ebp - 0xaf8], eax
sub ecx, edx
mov dword [ebp - 0x50], ecx
movzx eax, byte [ebp - 6]
cdq
add eax, dword [ebp - 0x28]
mov byte [ebp - 6], al
push 0
push 0
push 0
call fcn.100014a0
add esp, 8
call eax
jmp 0x10021b0b
movzx ecx, word [ebp - 0x6c]
cmp ecx, 0x42c
je 0x1001e995
movzx edx, word [ebp - 0x6c]
cmp edx, 0x82c
jne 0x1001eaa3
xor eax, eax
mov dword [0x1004a118], 1
mov dword [0x1004a11c], eax
mov ecx, dword [0x1004a104]
add ecx, 0x6718
mov dword [0x1004a178], ecx
mov edx, dword [0x1004a118]
mov eax, dword [0x1004a11c]
mov dword [ebp - 0x3e4], edx
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3e4]
or ecx, dword [ebp - 0x3e0]
je 0x1001e9f4
cmp dword [ebp - 0x3e4], 1
jne 0x1001e9ef
cmp dword [ebp - 0x3e0], 0
je 0x1001ea5e
jmp 0x1001ea8e
mov edx, dword [0x1004a0d0]
add edx, 1
mov eax, dword [0x1004a0d4]
adc eax, 0
mov dword [0x1004a0d0], edx
mov dword [0x1004a0d4], eax
movsx ecx, byte [0x1004a03e]
test ecx, ecx
jne 0x1001ea27
mov dword [ebp - 0x2b0], 1
jmp 0x1001ea31
mov dword [ebp - 0x2b0], 0
movsx eax, word [ebp - 0xc]
sub eax, dword [ebp - 0x2b0]
cdq
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x40]
sbb esi, dword [ebp - 0x3c]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov dword [0x1004a0d0], eax
mov dword [0x1004a0d4], edx
jmp 0x1001ea8e
mov ecx, dword [ebp - 0x44]
mov eax, dword [0x1004a128]
cdq
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xafc], esi
xor eax, edx
add ecx, eax
mov word [0x1004a120], cx
movzx eax, byte [0x1004a0ba]
cdq
add eax, 0x5d20d24c
mov dword [ebp - 0x44], eax
push 0
push 0
push 0
call fcn.100014a0
add esp, 8
call eax
jmp 0x10021b0b
mov eax, dword [ebp - 0x51c]
imul eax, dword [ebp - 0x2b4]
imul ecx, eax, 0xbe
cmp ecx, dword [ebp - 0x2b4]
je 0x10021b0b
movzx edx, byte [ebp - 2]
cmp edx, dword [ebp - 0x44]
je 0x1001ead7
mov dword [ebp - 0x2b8], 1
jmp 0x1001eae1
mov dword [ebp - 0x2b8], 0
mov eax, dword [ebp - 0x2b8]
not eax
test eax, eax
je case.default.0x1001eb31
mov byte [0x1004a017], 4
movzx eax, byte [ebp - 2]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1002e960
mov byte [0x1004a0bb], al
movsx eax, byte [0x1004a017]
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 4
ja case.default.0x1001eb31
mov ecx, dword [ebp - 0x2bc]
jmp dword [ecx*4 + 0x10021db0]
mov dl, byte [0x1004ac78]
mov byte [0x1004a056], dl
mov eax, dword [0x1004a15c]
cdq
add eax, 0x3ac42e92
adc edx, 0xa3c79
xor ecx, ecx
add eax, dword [0x1004a17c]
adc edx, ecx
mov dword [0x1004a0d0], eax
mov dword [0x1004a0d4], edx
jmp case.default.0x1001eb31
movzx eax, byte [ebp - 2]
cdq
mov dword [0x1004a130], eax
mov dword [0x1004a134], edx
mov edx, dword [ebp - 0x68]
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x64]
sbb eax, dword [ebp - 0x24]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
jmp case.default.0x1001eb31
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x1004a164]
sub ecx, dword [0x1004a160]
sbb edx, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
jmp case.default.0x1001eb31
movzx ecx, byte [0x1004a06b]
movsx edx, byte [0x1004a017]
imul ecx, edx
mov byte [ebp - 1], cl
jmp case.default.0x1001eb31
xor eax, eax
mov dword [ebp - 0x28], 0x50a4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xd8], 0
jmp 0x1001ebe8
mov ecx, dword [ebp - 0xd8]
add ecx, 2
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0x1f5
jge 0x1001ec81
movzx edx, byte [ebp - 6]
movsx eax, byte [0x1004a017]
cmp edx, eax
jge 0x1001ec13
mov dword [ebp - 0x2c0], 1
jmp 0x1001ec1d
mov dword [ebp - 0x2c0], 0
movzx ecx, byte [ebp - 6]
cmp ecx, 0x54
jge 0x1001ec32
mov dword [ebp - 0x2c4], 1
jmp 0x1001ec3c
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp - 0x2c0]
cmp edx, dword [ebp - 0x2c4]
jne 0x1001ec61
movsx eax, byte [ebp - 1]
add eax, 0x14efdd2d
cdq
mov dword [0x1004a0c0], eax
mov dword [0x1004a0c4], edx
jmp 0x1001ec6d
mov eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0x28]
mov word [0x1004a0cc], ax
mov ecx, dword [0x1004a148]
add ecx, 1
mov dword [0x1004a148], ecx
jmp 0x1001ebd9
mov edx, dword [0x1004ac78]
mov dword [ebp - 0xdc], edx
movzx eax, byte [ebp - 3]
imul eax, dword [ebp - 0x18]
mov byte [ebp - 3], al
mov ecx, dword [ebp - 0xdc]
add ecx, 0xd5
mov dword [ebp - 0xb00], ecx
mov edx, dword [ebp - 0xdc]
add edx, 0xdb
mov dword [ebp - 0x2e0], edx
cmp dword [0x1004a14c], 0
je 0x1001ee46
movzx eax, byte [0x1004a056]
cdq
push edx
push eax
push 0
push 0
movsx eax, byte [0x1004a092]
cdq
push edx
push eax
mov eax, dword [ebp - 0x60]
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x1004a178]
xor eax, eax
push eax
push edx
call fcn.100243a0
add esp, 0x28
mov word [ebp - 0x10], ax
mov eax, dword [0x1004a144]
cdq
mov dword [ebp - 0xa24], eax
mov dword [ebp - 0xa20], edx
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0xa20]
jl 0x1001ed3c
jg 0x1001ed28
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0xa24]
jbe 0x1001ed3c
xor eax, eax
mov dword [ebp - 0x464], 1
mov dword [ebp - 0x460], eax
jmp 0x1001ed47
xorps xmm0, xmm0
movlpd qword [ebp - 0x464], xmm0
mov ecx, dword [0x1004a0d4]
cmp ecx, dword [ebp - 0x460]
jb 0x1001ee44
ja 0x1001ed6d
mov edx, dword [0x1004a0d0]
cmp edx, dword [ebp - 0x464]
jbe 0x1001ee44
movsx eax, byte [0x1004a092]
movzx ecx, word [0x1004a0f0]
cmp eax, ecx
jl 0x1001ed8b
mov dword [ebp - 0x2c8], 1
jmp 0x1001ed95
mov dword [ebp - 0x2c8], 0
movsx edx, byte [0x1004a092]
cmp edx, 0x4a
jl 0x1001edad
mov dword [ebp - 0x2cc], 1
jmp 0x1001edb7
mov dword [ebp - 0x2cc], 0
mov eax, dword [ebp - 0x2c8]
cmp eax, dword [ebp - 0x2cc]
jg 0x1001edf0
mov ecx, dword [0x1004a0d0]
add ecx, 0x2d
mov edx, dword [0x1004a0d4]
adc edx, 0
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
movsx eax, word [0x1004a100]
sub eax, 0x60f60feb
mov byte [0x1004a0bc], al
jmp 0x1001ee44
movzx ecx, byte [0x1004a0bb]
test ecx, ecx
je 0x1001ee12
jmp 0x1001eeba
movsx eax, byte [0x1004a03e]
not eax
cmp eax, 0xf9ba032e
jae 0x1001ee62
mov dword [ebp - 0x2d4], 1
jmp 0x1001ee6c
mov dword [ebp - 0x2d4], 0
cmp dword [ebp - 0x60], 0
jne 0x1001ee7e
mov dword [ebp - 0x2d8], 1
jmp 0x1001ee88
mov dword [ebp - 0x2d8], 0
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d8]
je 0x1001eeba
mov dl, byte [0x1004ac78]
mov byte [ebp - 5], dl
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [ebp - 0x68]
sub ecx, eax
mov eax, dword [ebp - 0x64]
sbb eax, edx
add ecx, dword [ebp - 0x68]
adc eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0xdc]
add ecx, 0xe72a
mov dword [ebp - 0x520], ecx
mov edx, dword [0x1004a0e8]
or edx, dword [0x1004a0ec]
je 0x1001eedc
jmp 0x1001eef6
mov eax, dword [ebp - 0x28]
add eax, 0xd112
mov ecx, dword [ebp - 0x24]
adc ecx, 0
add eax, dword [ebp - 0x40]
adc ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
xor edx, edx
mov dword [0x1004a170], 0x976218b6
mov dword [0x1004a174], edx
mov eax, dword [0x1004a15c]
cdq
mov ecx, dword [ebp - 0x28]
add ecx, 0x5bded292
mov esi, dword [ebp - 0x24]
adc esi, 0xeef86
mov dword [ebp - 0xa2c], eax
mov dword [ebp - 0xa28], edx
mov dword [ebp - 0xa34], ecx
mov dword [ebp - 0xa30], esi
mov edx, dword [ebp - 0xa2c]
cmp edx, dword [ebp - 0xa34]
jne 0x1001ef96
mov eax, dword [ebp - 0xa28]
cmp eax, dword [ebp - 0xa30]
jne 0x1001ef96
mov ecx, dword [0x1004a0d0]
add ecx, dword [ebp - 0x28]
mov edx, dword [0x1004a0d4]
adc edx, dword [ebp - 0x24]
mov dword [ebp - 0xa3c], ecx
mov dword [ebp - 0xa38], edx
cmp dword [ebp - 0xa3c], 1
jne 0x1001ef96
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xa44], ecx
mov dword [ebp - 0xa40], edx
mov eax, dword [ebp - 0xa44]
or eax, dword [ebp - 0xa40]
je 0x1001efc5
movsx ecx, word [0x1004a120]
mov dword [ebp - 0x2dc], ecx
jmp 0x1001efd2
movzx edx, word [0x1004a0cc]
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x2dc]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, 0x263f
sub eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2e0]
or ecx, dword [ebp - 0x520]
xor eax, ecx
xor eax, 0xc058
mov dword [ebp - 0x524], eax
movzx edx, word [ebp - 0x6c]
cmp edx, 0x423
jne 0x1001f5e4
mov dword [0x1004a154], 0xd414ab1f
movzx edx, byte [ebp - 4]
add edx, 0x21
cmp dword [0x1004a17c], edx
jne 0x10021b9b
mov eax, dword [0x1004a17c]
xor ecx, ecx
add eax, dword [ebp - 0x40]
adc ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x7b4], eax
mov dword [ebp - 0x7b0], ecx
cmp dword [ebp - 0x7b4], 1
jne 0x10021b9b
cmp dword [ebp - 0x7b0], 0
jne 0x10021b9b
movzx eax, byte [0x1004a0bc]
movzx edx, word [ebp - 0x14]
imul eax, edx
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xb48], edx
mov edx, dword [0x1004a0e0]
mov esi, dword [0x1004a0e4]
mov dword [ebp - 0xb4c], esi
add ecx, edx
or eax, ecx
mov dword [ebp - 0x18], eax
jmp 0x10021b0b
mov dword [0x1004a148], 3
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
add edx, dword [ebp - 0x68]
adc eax, dword [ebp - 0x64]
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
add ecx, edx
adc esi, eax
mov dword [0x1004a130], ecx
mov dword [0x1004a134], esi
mov edx, dword [0x1004a148]
mov dword [ebp - 0x3c8], edx
cmp dword [ebp - 0x3c8], 3
ja case.default.0x10021bf1
mov eax, dword [ebp - 0x3c8]
jmp dword [eax*4 + 0x10021dd8]
cmp dword [0x1004a14c], 0
jne 0x10021c0d
mov dword [ebp - 0x3cc], 1
jmp 0x10021c17
mov dword [ebp - 0x3cc], 0
movzx ecx, byte [0x1004a0ba]
mov eax, ecx
imul eax, dword [ebp - 0x3cc]
cdq
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
jmp case.default.0x10021bf1
mov edx, dword [0x1004a178]
xor eax, eax
add edx, dword [ebp - 0x68]
adc eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
mov eax, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov cl, 2
call fcn.1002e9a0
mov dword [ebp - 0x60], eax
jmp case.default.0x10021bf1
mov ecx, dword [0x1004a188]
mov edx, dword [0x1004a18c]
mov dword [ebp - 0xb54], edx
not ecx
movzx eax, word [0x1004a124]
not eax
cdq
add ecx, eax
mov byte [ebp - 1], cl
mov ecx, dword [0x1004a188]
mov esi, dword [0x1004a18c]
add ecx, dword [0x1004a118]
adc esi, dword [0x1004a11c]
not ecx
not esi
movsx eax, byte [ebp - 1]
cdq
add eax, dword [0x1004a0d0]
adc edx, dword [0x1004a0d4]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x7bc], ecx
mov dword [ebp - 0x7b8], esi
mov edx, dword [ebp - 0x7bc]
or edx, dword [ebp - 0x7b8]
jne 0x10021ce8
xor eax, eax
mov dword [ebp - 0x3fc], 1
mov dword [ebp - 0x3f8], eax
jmp 0x10021cf3
xorps xmm0, xmm0
movlpd qword [ebp - 0x3fc], xmm0
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0x3f8]
mov dword [str.J64_], ecx
mov dword [0x1004a13c], edx
jmp case.default.0x10021bf1
mov eax, dword [0x1004a0e4]
mov ecx, dword [0x1004a0d0]
sub ecx, dword [0x1004a0e0]
mov edx, dword [0x1004a0d4]
sbb edx, eax
mov eax, dword [0x1004a0d0]
sub eax, ecx
mov ecx, dword [0x1004a0d4]
sbb ecx, edx
mov dword [0x1004a0d0], eax
mov dword [0x1004a0d4], ecx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret