Function at 0x1001ada0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x24c
mov eax, dword [0x1005d3b0]
xor eax, esp
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x258]
push ebx
push ebp
mov dword [esp + 0x74], eax
or ebp, 0xffffffff
mov eax, dword [esp + 0x264]
push esi
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x26c]
push edi
push dword [esp + 0x260]
mov edi, dword [esp + 0x278]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x34], eax
call fcn.10008de0
add esp, 4
test eax, eax
je 0x1001ae07
mov eax, dword [eax]
mov dword [esp + 0x18], eax
lea ebx, [eax*8]
lea eax, [esp + 0x38]
mov dword [esp + 0x44], 0
push eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x98], 0
call fcn.100299e0
mov esi, eax
add esp, 4
test esi, esi
js 0x1001b403
lea eax, [esp + 0x58]
push eax
call fcn.100299e0
mov esi, eax
add esp, 4
test esi, esi
js 0x1001b403
lea eax, [esp + 0x1c]
push eax
call fcn.100299e0
mov esi, eax
add esp, 4
test esi, esi
js 0x1001b403
lea eax, [esp + 0x48]
push eax
call fcn.100299e0
mov esi, eax
add esp, 4
test esi, esi
js 0x1001b403
lea eax, [esp + 0x68]
push eax
call fcn.100299e0
mov esi, eax
add esp, 4
test esi, esi
js 0x1001b403
lea eax, [esp + 0x88]
push eax
call fcn.100299e0
mov esi, eax
add esp, 4
test esi, esi
js 0x1001b403
mov eax, dword [esp + 0x264]
xor edx, edx
dec eax
mov ecx, dword [esp + 0x30]
add eax, ebx
div ebx
push 0x1c0
mov ebx, eax
mov eax, dword [ecx]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x9c]
push 0
push eax
mov dword [esp + 0x84], ebx
call fcn.1003d590
add esp, 0xc
xor edi, edi
test ebx, ebx
jle 0x1001af65
mov eax, dword [esp + 0x18]
neg eax
mov dword [esp + 0x34], eax
lea eax, [ebx - 1]
imul eax, dword [esp + 0x18]
lea eax, [esp + eax + 0x98]
mov dword [esp + 0x2c], eax
push eax
push 0x200
push edi
push dword [esp + 0x20]
push dword [esp + 0x270]
call fcn.1001a040
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x1001b3ff
mov eax, dword [esp + 0x2c]
inc edi
add eax, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
cmp edi, ebx
jl 0x1001af30
mov edi, dword [esp + 0x14]
push edi
push 0x200
push ebx
push edi
call fcn.10019e30
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x1001b403
mov ecx, dword [esp + 0x18]
mov esi, ebx
mov dl, 1
lea eax, [ecx*8]
imul esi, eax
mov eax, dword [esp + 0x264]
lea ecx, [eax - 1]
sub esi, eax
and ecx, 7
shr esi, 3
shl dl, cl
lea ecx, [esp + 0x98]
add ecx, esi
lea eax, [edx - 1]
and al, byte [ecx]
or al, dl
mov byte [ecx], al
mov eax, dword [esp + 0x18]
imul eax, ebx
mov dword [esp + 0x2c], eax
sub eax, esi
push eax
push ecx
lea eax, [esp + 0x24]
push eax
call fcn.1002a0c0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.10029ca0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x58]
push eax
push eax
push eax
call fcn.10028e70
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10028e70
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x1c]
push eax
push 1
push eax
call fcn.1002a730
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
push ebp
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.10029310
mov esi, eax
add esp, 0x10
test esi, esi
js 0x1001b403
mov eax, dword [esp + 0x264]
dec eax
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.10028e50
mov esi, eax
add esp, 8
test esi, esi
js 0x1001b403
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10029ca0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x38]
push eax
push 1
push eax
call fcn.10028ee0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x38]
push eax
call fcn.10028e00
add esp, 4
cmp eax, dword [esp + 0x264]
jbe 0x1001b190
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x5c]
push 1
push eax
call fcn.1002a730
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x1c]
push eax
push eax
lea eax, [esp + 0x90]
push eax
call fcn.10028e70
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
push 0
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.10029310
mov esi, eax
add esp, 0x10
test esi, esi
js 0x1001b403
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10029ca0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x38]
push eax
push 1
push eax
call fcn.10028ee0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
mov eax, dword [esp + 0x30]
push 0x1c0
push 0
inc dword [eax]
lea eax, [esp + 0xa0]
push eax
call fcn.1003d590
add esp, 0xc
xor edi, edi
test ebx, ebx
jle 0x1001b203
mov eax, dword [esp + 0x18]
neg eax
mov dword [esp + 0x34], eax
lea eax, [ebx - 1]
imul eax, dword [esp + 0x18]
lea ebx, [esp + 0x98]
add ebx, eax
mov edi, edi
push ebx
push 0x200
push edi
push dword [esp + 0x20]
push dword [esp + 0x270]
call fcn.1001a040
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x1001b3ff
add ebx, dword [esp + 0x34]
inc edi
cmp edi, dword [esp + 0x78]
jl 0x1001b1d0
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x14]
push edi
push 0x200
push ebx
push edi
call fcn.10019e30
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x1001b403
push dword [esp + 0x2c]
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1002a0c0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x3c]
push 3
push eax
call fcn.1002a730
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10029ba0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x48]
push eax
push 2
push eax
call fcn.10028ee0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x84]
lea eax, [esp + 0x24]
push eax
call fcn.10029ca0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x68]
push eax
push eax
push eax
call fcn.10028e70
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10026cb0
mov esi, eax
add esp, 0x10
test esi, esi
js 0x1001b403
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x6c]
push 1
push eax
call fcn.1002a730
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10029700
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x48]
push 1
push eax
call fcn.100290d0
add esp, 8
test eax, eax
jne 0x1001b38c
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x84]
lea eax, [esp + 0x74]
push eax
call fcn.10026cb0
mov esi, eax
add esp, 0x10
test esi, esi
js 0x1001b403
lea eax, [esp + 0x48]
push 1
push eax
call fcn.100290d0
add esp, 8
test eax, eax
je 0x1001b3de
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x264]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
cmp dword [ecx], eax
jae 0x1001b3fa
lea eax, [esp + 0x1c]
push eax
push 1
push eax
call fcn.10028ee0
mov esi, eax
add esp, 0xc
test esi, esi
js 0x1001b403
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10029ca0
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x1001b0c0
jmp 0x1001b403
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x38]
push ebx
push eax
call fcn.10029220
mov esi, eax
add esp, 8
test esi, esi
js 0x1001b407
xor ebp, ebp
jmp 0x1001b407
or ebp, 0xffffffff
jmp 0x1001b403
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x38]
push eax
call fcn.10029030
lea eax, [esp + 0x5c]
push eax
call fcn.10029030
lea eax, [esp + 0x24]
push eax
call fcn.10029030
lea eax, [esp + 0x54]
push eax
call fcn.10029030
lea eax, [esp + 0x78]
push eax
call fcn.10029030
lea eax, [esp + 0x9c]
push eax
call fcn.10029030
add esp, 0x18
test esi, esi
je 0x1001b4a4
cmp esi, 0xfffffffc
je 0x1001b492
cmp esi, 0xfffffffd
je 0x1001b480
cmp esi, 0xfffffffe
je 0x1001b46e
push 0xffffe001
call sub.nssutil3.dll_PORT_SetError_Util
add esp, 4
or ebp, 0xffffffff
jmp 0x1001b4a9
push 0xffffe013
call sub.nssutil3.dll_PORT_SetError_Util
add esp, 4
or ebp, 0xffffffff
jmp 0x1001b4a9
push 0xffffe002
call sub.nssutil3.dll_PORT_SetError_Util
add esp, 4
or ebp, 0xffffffff
jmp 0x1001b4a9
push 0xffffe005
call sub.nssutil3.dll_PORT_SetError_Util
add esp, 4
or ebp, 0xffffffff
jmp 0x1001b4a9
cmp ebp, 0xffffffff
jne 0x1001b4cd
push ebx
call fcn.1002aaf0
add esp, 4
cmp dword [edi + 4], 0
je 0x1001b4c3
push 0
push edi
call sub.nssutil3.dll_SECITEM_FreeItem_Util
add esp, 8
mov eax, dword [esp + 0x30]
mov dword [eax], 0
mov ecx, dword [esp + 0x258]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003cf2f
add esp, 0x24c
ret