Function at 0x10045e1d
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x1d8
mov eax, 0x1019f583
call fcn.10044e40
cmp byte [0x10274a90], 0
mov edi, dword [ebp + 8]
mov dword [ebp - 0xb8], edi
jne 0x10046566
mov byte [0x10274a90], 1
call fcn.10003a80
mov edi, eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0xc8], edi
inc eax
mov dword [ebp - 0xc4], ebx
mov word [0x10274a80], ax
mov eax, dword [0x10276388]
push 0x100ed5e0
push ebx
mov dword [ebp - 0xb4], ebx
mov esi, dword [eax + 8]
mov ecx, esi
mov dword [ebp - 4], ebx
call dword [0x101b03f8]
call esi
pop ecx
pop ecx
push str.GlobData
push str.JSCache
mov byte [ebp - 4], 1
call fcn.100466cf
mov esi, eax
mov dword [ebp - 0xc4], esi
pop ecx
pop ecx
test esi, esi
je 0x10045ebd
push ebx
push esi
push edi
call fcn.10014ba0
add esp, 0xc
push esi
call fcn.10014ba0
pop ecx
xor eax, eax
push str.GlobSettings
push str.JSCache
mov word [0x10274a80], ax
call fcn.100466cf
mov edi, eax
mov dword [ebp - 0xb4], edi
pop ecx
pop ecx
test edi, edi
je 0x10046508
mov eax, dword [0x102763dc]
push str.Settings
push edi
mov byte [ebp - 4], 2
mov esi, dword [eax + 0x100]
mov ecx, esi
call dword [0x101b03f8]
call esi
pop ecx
pop ecx
push edi
mov esi, eax
call fcn.10014ba0
pop ecx
test esi, esi
je 0x100464f5
push ebx
push esi
push dword [ebp - 0xc8]
call fcn.10014ba0
add esp, 0xc
lea ecx, [ebp - 0x40]
push eax
call fcn.10040e25
push str.GlobalSettings
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x40]
call fcn.10014ba0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.10041623
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xc0]
call fcn.10014ba0
lea ecx, [ebp - 0xf0]
call fcn.10040980
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 8
call fcn.100409f4
lea eax, [ebp - 0xc0]
push eax
call fcn.10048bb4
pop ecx
push str.docs
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x40]
call fcn.10014ba0
push eax
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 9
call fcn.10049372
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.100409f4
lea ecx, [ebp - 0xc0]
call fcn.1004902d
cmp eax, 2
jne 0x100464e2
mov edi, ebx
lea ecx, [ebp - 0xc0]
call fcn.1005383a
cmp edi, eax
jae 0x100464e2
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], ebx
push eax
mov dword [ebp - 0xd4], ebx
call fcn.1004589c
pop ecx
mov dword [ebp - 0xd8], eax
push edi
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xc0]
call fcn.10053dea
push str.GETS
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0xb
push ecx
mov ecx, eax
call fcn.100740ce
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0xc
push ecx
mov ecx, eax
call fcn.10041623
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xe4]
call fcn.10014ba0
lea ecx, [ebp - 0xf8]
call fcn.10040980
lea ecx, [ebp - 0x1c8]
call fcn.100409f4
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x11
call fcn.100409f4
mov esi, ebx
lea ecx, [ebp - 0xe4]
call fcn.1005383a
cmp esi, eax
jae 0x10046295
lea ecx, [ebp - 0x2c]
call fcn.1008edaa
push esi
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0xe4]
call fcn.10053dea
push str.scheme
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x13
push ecx
mov ecx, eax
call fcn.100740ce
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x14
push ecx
mov ecx, eax
call fcn.10041623
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x148]
call fcn.10014ba0
lea ecx, [ebp - 0x100]
call fcn.10040980
lea ecx, [ebp - 0x178]
call fcn.100409f4
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x19
call fcn.100409f4
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x148]
call fcn.10014ba0
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x158]
call fcn.1006572b
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xc8]
push eax
mov byte [ebp - 4], 0x1b
call fcn.10014ba0
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x1c
call fcn.10014ba0
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x1d
call fcn.10014ba0
push esi
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0xe4]
call fcn.10053dea
push str.host
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, eax
call fcn.100740ce
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x138]
push ecx
mov ecx, eax
call fcn.10041623
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x128]
call fcn.10014ba0
lea ecx, [ebp - 0x138]
call fcn.10040980
lea ecx, [ebp - 0x74]
call fcn.100409f4
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x24
call fcn.100409f4
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x128]
call fcn.10014ba0
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [ebp - 0x160]
call fcn.1006572b
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xe8]
push eax
mov byte [ebp - 4], 0x26
call fcn.10014ba0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x27
call fcn.10014ba0
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x28
call fcn.10014ba0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0xd8]
call fcn.10014ba0
lea ecx, [ebp - 0x128]
call fcn.10040980
lea ecx, [ebp - 0x148]
call fcn.10040980
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x11
call fcn.1008ef10
inc esi
jmp 0x1004608a
cmp dword [ebp - 0xd4], 0
je 0x10046490
cmp dword [0x10274ae8], 0
jne 0x100462e2
push 1
push 0x14
call fcn.10014ba0
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x14c], esi
mov byte [ebp - 4], 0x29
test esi, esi
je 0x100462d6
lea eax, [ebp - 0xc9]
mov ecx, esi
push eax
call fcn.1008ec6c
jmp 0x100462d8
mov esi, ebx
mov byte [ebp - 4], 0x11
mov dword [0x10274ae8], esi
push edi
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xc0]
call fcn.10053dea
push str.PERM_ID
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x2a
push ecx
mov ecx, eax
call fcn.100740ce
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x2b
push ecx
mov ecx, eax
call fcn.10041623
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x118]
call fcn.10014ba0
lea ecx, [ebp - 0x120]
call fcn.10040980
lea ecx, [ebp - 0x5c]
call fcn.100409f4
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x30
call fcn.100409f4
push edi
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0xc0]
call fcn.10053dea
push str.CHANGING_ID
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x31
push ecx
mov ecx, eax
call fcn.100740ce
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x32
push ecx
mov ecx, eax
call fcn.10041623
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [ebp - 0x110]
call fcn.10014ba0
lea ecx, [ebp - 0x108]
call fcn.10040980
lea ecx, [ebp - 0x190]
call fcn.100409f4
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x37
call fcn.100409f4
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x110]
call fcn.100741b3
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x38
jb 0x100463e6
mov eax, dword [eax]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x150], esp
mov dword [ebp - 0xdc], ecx
push 0xf
pop esi
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], esi
push eax
mov byte [ecx], bl
call fcn.1003aa48
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0x118]
call fcn.100741b3
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x3a
jb 0x10046427
mov eax, dword [eax]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xdc], ecx
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], esi
mov byte [ecx], bl
call fcn.1003aa48
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x3b
call fcn.1008ecf0
mov ecx, dword [0x10274ae8]
push eax
mov byte [ebp - 4], 0x3c
call fcn.10014ba0
lea ecx, [ebp - 0xb0]
call fcn.1008eef4
lea ecx, [ebp - 0x5c]
call fcn.10046f85
lea ecx, [ebp - 0x74]
call fcn.10046f85
lea ecx, [ebp - 0x110]
call fcn.10040980
lea ecx, [ebp - 0x118]
call fcn.10040980
lea ecx, [ebp - 0xe4]
call fcn.10040980
mov eax, dword [ebp - 0xd8]
push dword [eax + 4]
lea eax, [ebp - 0xd8]
push eax
mov ecx, eax
call fcn.10014ba0
cmp dword [ebp - 0xd8], 0
mov byte [ebp - 4], 0x3d
je 0x100464d8
mov eax, dword [0x10276394]
push dword [ebp - 0xd8]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x101b03f8]
call esi
pop ecx
mov byte [ebp - 4], 8
inc edi
jmp 0x10045fdb
lea ecx, [ebp - 0xc0]
call fcn.10040980
lea ecx, [ebp - 0x40]
call fcn.10040e61
xor eax, eax
inc eax
jmp 0x10046505
mov dword [ebp - 4], eax
mov eax, dword [0x10276388]
mov byte [ebp - 4], 0x3f
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x101b03f8]
call esi
jmp 0x1004655a
mov edi, dword [ebp - 0xb8]
or dword [ebp - 4], 0xffffffff
jmp 0x10046568
xor ebx, ebx
test edi, edi
je 0x10046577
push edi
call fcn.10014ba0
pop ecx
mov esi, eax
jmp 0x10046579
mov esi, ebx
test esi, esi
je 0x100466c9
push str.SToken_GlobLoaded
push esi
call fcn.10014ba0
pop ecx
pop ecx
test eax, eax
jne 0x100466c9
push 1
push str.SToken_GlobLoaded
push esi
call fcn.10014ba0
add esp, 0xc
cmp dword [0x10274ae8], 0
je 0x100466c9
push ebx
lea eax, [ebp - 0x2c]
push edi
push eax
call fcn.10014ba0
push 1
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 0x41
push edi
push eax
call fcn.10014ba0
add esp, 0x18
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x42
je 0x100466b9
mov ecx, dword [0x10274ae8]
mov edi, dword [ecx + 0xc]
mov esi, dword [ecx]
mov eax, dword [ecx + 0x10]
add eax, dword [ecx + 0xc]
cmp edi, eax
je 0x100466b9
test esi, esi
je 0x10046603
mov eax, dword [esi]
jmp 0x10046605
mov eax, ebx
mov ecx, dword [eax + 8]
lea edx, [ebp - 0x2c]
mov eax, dword [eax + 4]
dec ecx
and ecx, edi
push edx
mov ecx, dword [eax + ecx*4]
call fcn.10014ba0
test al, al
je 0x100466ad
test esi, esi
je 0x1004662a
mov eax, dword [esi]
jmp 0x1004662c
mov eax, ebx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edi
mov ecx, dword [eax + ecx*4]
lea eax, [ebp - 0x44]
push eax
add ecx, 0x18
call fcn.10014ba0
test al, al
je 0x100466ad
test esi, esi
je 0x10046650
mov eax, dword [esi]
jmp 0x10046652
mov eax, ebx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edi
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
test esi, esi
je 0x10046671
mov ecx, dword [esi]
jmp 0x10046673
mov ecx, ebx
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
dec edx
and edx, edi
mov ecx, dword [ecx + edx*4]
cmp eax, dword [ecx + 0x30]
je 0x100466ad
push 1
push ebx
add eax, 0x10
push eax
push ebx
push dword [ebp - 0xb8]
call fcn.100a876d
add esp, 0x14
lea ecx, [ebp - 0xb4]
call fcn.1003bc21
mov eax, dword [ebp - 0xb4]
jmp 0x10046669
mov ecx, dword [0x10274ae8]
inc edi
jmp 0x100465ed
lea ecx, [ebp - 0x44]
call fcn.10014ba0
lea ecx, [ebp - 0x2c]
call fcn.10014ba0
call fcn.10044faf
ret