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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x6c
call fcn.10084f50
push ebx
mov ebx, dword [ebp + 0x10]
xor eax, eax
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [ebx], 0x32
push edi
mov dword [esi + 0x160], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x164], 0xffffffff
push 0x76c
push str.ssl_t1_lib.c
mov dword [eax + 0x344], 0
mov eax, dword [esi + 0x68]
push dword [eax + 0x348]
call fcn.100a75a0
mov eax, dword [esi + 0x68]
push 0x76f
push str.ssl_t1_lib.c
mov dword [eax + 0x348], 0
mov eax, dword [esi + 0x68]
mov dword [eax + 0x34c], 0
mov eax, dword [esi + 0x68]
push dword [eax + 0x350]
call fcn.100a75a0
mov eax, dword [esi + 0x68]
add esp, 0x18
mov dword [eax + 0x350], 0
mov eax, dword [esi + 0x68]
mov dword [eax + 0x354], 0
test byte [esi + 0x12c], 0x40
je 0x1014d52e
push dword [ebp + 0xc]
push esi
call fcn.1014cf20
add esp, 8
mov eax, dword [esi + 0x68]
push 0x77d
push str.ssl_t1_lib.c
push dword [eax + 0x268]
call fcn.100a75a0
mov eax, dword [esi + 0x68]
push 0x782
push str.ssl_t1_lib.c
mov dword [eax + 0x268], 0
mov eax, dword [esi + 0x68]
and dword [eax], 0xfffffeff
push dword [esi + 0x1f8]
call fcn.100a75a0
mov eax, dword [ebp + 0xc]
add esp, 0x18
mov dword [esi + 0x1f8], 0
mov dword [esi + 0x1cc], 0
cmp dword [eax + 4], 0
je 0x1014dc0a
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 2
jb 0x1014dbc0
movzx edi, byte [ecx]
sub edx, 2
movzx eax, byte [ecx + 1]
add ecx, 2
shl edi, 8
or edi, eax
mov dword [esp + 0x18], edi
cmp edx, edi
jb 0x1014dbc0
mov eax, ecx
add ecx, edi
mov dword [esp + 0x10], eax
sub edx, edi
jne 0x1014dbc0
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x58], edi
mov dword [ebx], ecx
mov ecx, ebx
mov dword [ecx + 4], edx
call fcn.1014f900
mov ebx, dword [ebp + 0x10]
add esp, 4
test eax, eax
je 0x1014dbc0
nop dword [eax + eax]
mov ecx, dword [esp + 0x18]
cmp ecx, 2
jb 0x1014dbf5
mov edx, dword [esp + 0x10]
sub ecx, 2
mov dword [esp + 0x18], ecx
movzx eax, byte [edx]
movzx edi, byte [edx + 1]
add edx, 2
shl eax, 8
or edi, eax
mov dword [esp + 0x10], edx
cmp ecx, 2
jb 0x1014dbc0
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
add edx, 2
shl eax, 8
or ecx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x18]
sub eax, 2
cmp eax, ecx
jb 0x1014dbc0
add dword [esp + 0x10], ecx
sub eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x154]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x1014d68b
push dword [esi + 0x158]
push ecx
push edx
push edi
push 0
push esi
call eax
mov ecx, dword [esp + 0x44]
add esp, 0x18
mov edx, dword [esp + 0x28]
cmp edi, 0xff01
jne 0x1014d6b7
push ebx
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.10163f40
add esp, 0xc
test eax, eax
je 0x1014dbc0
mov dword [esp + 0x24], 1
jmp 0x1014d600
cmp dword [esi], 0x300
je 0x1014d600
test edi, edi
jne 0x1014d7cc
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1014b5b0
add esp, 8
test eax, eax
je 0x1014dbc0
mov edx, dword [esp + 0x34]
test edx, edx
je 0x1014dbc0
mov eax, dword [esp + 0x30]
dec edx
mov dword [esp + 0x34], edx
movzx ecx, byte [eax]
inc eax
mov dword [esp + 0x30], eax
test ecx, ecx
jne 0x1014dbc0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.1014b5b0
add esp, 8
test eax, eax
je 0x1014dbc0
cmp dword [esi + 0x78], edi
jne 0x1014d77e
mov eax, dword [esp + 0x3c]
cmp eax, 0xff
ja 0x1014dbba
push eax
push edi
push dword [esp + 0x40]
call fcn.10086ad0
add esp, 0xc
test eax, eax
jne 0x1014dbba
mov eax, dword [esi + 0xf0]
add eax, 0xc4
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1014b780
add esp, 8
test eax, eax
je 0x1014d821
mov dword [esi + 0x160], 1
jmp 0x1014d600
mov eax, dword [esi + 0xf0]
mov edx, dword [eax + 0xc4]
test edx, edx
je 0x1014d7bf
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1014d793
sub ecx, edi
lea eax, [esp + 0x38]
push ecx
push edx
push eax
call fcn.1014b630
add esp, 0xc
test eax, eax
je 0x1014d7bf
mov eax, 1
mov dword [esi + 0x160], eax
jmp 0x1014d600
xor eax, eax
mov dword [esi + 0x160], eax
jmp 0x1014d600
cmp edi, 0xc
jne 0x1014d830
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1014b570
add esp, 8
test eax, eax
je 0x1014dbc0
push dword [esp + 0x44]
push 0
push dword [esp + 0x48]
call fcn.10086ad0
add esp, 0xc
test eax, eax
jne 0x1014dbc0
lea eax, [esi + 0x1f8]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.1014b780
add esp, 8
test eax, eax
jne 0x1014d600
mov dword [ebx], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0xb
jne 0x1014d887
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1014b570
add esp, 8
test eax, eax
je 0x1014dbc0
cmp dword [esp + 0x5c], 0
je 0x1014dbc0
cmp dword [esi + 0x78], 0
jne 0x1014d600
mov ecx, dword [esi + 0xf0]
lea eax, [ecx + 0xc8]
push eax
lea eax, [ecx + 0xcc]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.1014b720
add esp, 0xc
jmp 0x1014d819
cmp edi, 0xa
jne 0x1014d8ea
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1014b5b0
add esp, 8
test eax, eax
je 0x1014dbc0
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1014dbc0
test al, 1
jne 0x1014dbc0
cmp dword [esi + 0x78], 0
jne 0x1014d600
mov ecx, dword [esi + 0xf0]
lea eax, [ecx + 0xd0]
push eax
lea eax, [ecx + 0xd4]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.1014b720
add esp, 0xc
jmp 0x1014d819
cmp edi, 0x23
jne 0x1014d910
mov eax, dword [esi + 0x1ac]
test eax, eax
je 0x1014d600
push dword [esi + 0x1b0]
push ecx
push edx
push esi
call eax
add esp, 0x10
jmp 0x1014d819
cmp edi, 0xd
jne 0x1014d96a
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1014b5b0
add esp, 8
test eax, eax
je 0x1014dbc0
mov eax, dword [esp + 0x6c]
test al, 1
jne 0x1014dbc0
test eax, eax
je 0x1014dbc0
cmp dword [esi + 0x78], 0
jne 0x1014d600
push eax
push dword [esp + 0x6c]
push esi
call fcn.10150080
add esp, 0xc
test eax, eax
jne 0x1014d600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 5
jne 0x1014dae5
lea edi, [esi + 0x164]
lea eax, [esp + 0x28]
push edi
push eax
call fcn.1014b660
add esp, 8
test eax, eax
je 0x1014dbc0
cmp dword [edi], 1
jne 0x1014dada
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1014b690
add esp, 8
test eax, eax
je 0x1014dbc0
push fcn.100b44c0
push dword [esi + 0x184]
call fcn.100a7350
mov edi, dword [esp + 0x5c]
add esp, 8
test edi, edi
je 0x1014d9e2
call fcn.100a72c0
mov dword [esi + 0x184], eax
test eax, eax
je 0x1014d821
jmp 0x1014d9ec
mov dword [esi + 0x184], 0
test edi, edi
je 0x1014da69
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.1014b690
add esp, 8
test eax, eax
je 0x1014dbc0
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x1014dbc0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push edi
push eax
push 0
call fcn.100b4510
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x1014dbc0
mov ecx, dword [esp + 0x48]
add ecx, edi
push ebx
cmp dword [esp + 0x20], ecx
jne 0x1014dbe4
push dword [esi + 0x184]
call fcn.100a73b0
add esp, 8
test eax, eax
je 0x1014dbc9
cmp dword [esp + 0x54], 0
ja 0x1014d9f0
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1014b5b0
add esp, 8
test eax, eax
je 0x1014dbc0
mov edi, dword [esp + 0x74]
test edi, edi
je 0x1014d600
mov ebx, dword [esp + 0x70]
push fcn.100c9f80
push dword [esi + 0x188]
mov dword [esp + 0x28], ebx
call fcn.100a7350
push edi
lea eax, [esp + 0x2c]
push eax
push 0
call fcn.100c9fa0
add esp, 0x14
mov dword [esi + 0x188], eax
test eax, eax
je 0x1014dbc0
lea eax, [ebx + edi]
cmp dword [esp + 0x20], eax
jne 0x1014dbc0
mov ebx, dword [ebp + 0x10]
jmp 0x1014d600
mov dword [edi], 0xffffffff
jmp 0x1014d600
cmp edi, 0x3374
jne 0x1014db08
mov eax, dword [esi + 0x68]
cmp dword [eax + 0x180], 0
jne 0x1014db37
mov dword [eax + 0x344], 1
jmp 0x1014d600
cmp edi, 0x10
jne 0x1014db37
mov eax, dword [esi + 0x68]
cmp dword [eax + 0x180], 0
jne 0x1014db37
push ebx
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.1014efd0
add esp, 0xc
test eax, eax
jne 0x1014d600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x64]
test byte [eax + 0x34], 8
je 0x1014db7d
push esi
call fcn.10163920
add esp, 4
test eax, eax
je 0x1014db75
cmp edi, 0xe
jne 0x1014db75
push ebx
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.10163ae0
add esp, 0xc
test eax, eax
je 0x1014d600
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
cmp edi, 0x16
jne 0x1014db90
mov eax, dword [esi + 0x68]
or dword [eax], 0x100
jmp 0x1014d600
cmp dword [esi + 0x78], 0
jne 0x1014d600
push ebx
push ecx
push edx
push edi
push 1
push esi
call fcn.10146570
add esp, 0x18
test eax, eax
jg 0x1014d600
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call fcn.100b44c0
mov eax, dword [ebp + 0x10]
add esp, 4
mov dword [eax], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.100b44c0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], 0
jne 0x1014d821
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x1014dc4c
cmp dword [esi + 0x1e4], 0
je 0x1014dc4c
test dword [esi + 0x12c], 0x40000
jne 0x1014dc4c
push 0x8ff
push str.ssl_t1_lib.c
push 0x152
push 0x140
push 0x14
mov dword [ebx], 0x28
call fcn.100b3a40
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret