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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x6c
call fcn.00584ea0
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 + 0x158], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x15c], 0xffffffff
push 0x76f
push str.ssl_t1_lib.c
mov dword [eax + 0x33c], 0
mov eax, dword [esi + 0x68]
push dword [eax + 0x340]
call fcn.004d9ad0
mov eax, dword [esi + 0x68]
push 0x772
push str.ssl_t1_lib.c
mov dword [eax + 0x340], 0
mov eax, dword [esi + 0x68]
mov dword [eax + 0x344], 0
mov eax, dword [esi + 0x68]
push dword [eax + 0x348]
call fcn.004d9ad0
mov eax, dword [esi + 0x68]
add esp, 0x18
mov dword [eax + 0x348], 0
mov eax, dword [esi + 0x68]
mov dword [eax + 0x34c], 0
test byte [esi + 0x124], 0x40
je 0x56e2de
push dword [ebp + 0xc]
push esi
call fcn.0056dcf0
add esp, 8
mov eax, dword [esi + 0x68]
push 0x780
push str.ssl_t1_lib.c
push dword [eax + 0x260]
call fcn.004d9ad0
mov eax, dword [esi + 0x68]
add esp, 0xc
mov dword [eax + 0x260], 0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x1dc], 0
mov dword [esi + 0x1c4], 0
cmp dword [eax + 4], 0
je 0x56e95b
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 2
jb 0x56e911
movzx eax, byte [ecx]
sub edx, 2
movzx edi, byte [ecx + 1]
add ecx, 2
shl eax, 8
or edi, eax
mov dword [esp + 0x18], edi
cmp edx, edi
jb 0x56e911
mov eax, ecx
add ecx, edi
mov dword [esp + 0x10], eax
sub edx, edi
jne 0x56e911
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x50], edi
mov dword [ebx], ecx
mov ecx, ebx
mov dword [ecx + 4], edx
call fcn.005705e0
mov ebx, dword [ebp + 0x10]
add esp, 4
test eax, eax
je 0x56e911
nop dword [eax]
mov ecx, dword [esp + 0x18]
cmp ecx, 2
jb 0x56e946
mov edx, dword [esp + 0x10]
sub ecx, 2
mov dword [esp + 0x18], ecx
movzx edi, byte [edx]
movzx eax, byte [edx + 1]
add edx, 2
shl edi, 8
or edi, eax
mov dword [esp + 0x10], edx
cmp ecx, 2
jb 0x56e911
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
add edx, 2
shl ecx, 8
or ecx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x18]
sub eax, 2
cmp eax, ecx
jb 0x56e911
add dword [esp + 0x10], ecx
sub eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x14c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x56e41b
push dword [esi + 0x150]
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 0x56e447
push ebx
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.00582c80
add esp, 0xc
test eax, eax
je 0x56e911
mov dword [esp + 0x24], 1
jmp 0x56e390
cmp dword [esi], 0x300
je 0x56e390
test edi, edi
jne 0x56e55c
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0056c500
add esp, 8
test eax, eax
je 0x56e911
mov edx, dword [esp + 0x34]
test edx, edx
je 0x56e911
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 0x56e911
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0056c500
add esp, 8
test eax, eax
je 0x56e911
cmp dword [esi + 0x78], edi
jne 0x56e50e
mov eax, dword [esp + 0x3c]
cmp eax, 0xff
ja 0x56e90b
push eax
push edi
push dword [esp + 0x40]
call fcn.00586ed0
add esp, 0xc
test eax, eax
jne 0x56e90b
mov eax, dword [esi + 0xf0]
add eax, 0xbc
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0056c620
add esp, 8
test eax, eax
je 0x56e5cc
mov dword [esi + 0x158], 1
jmp 0x56e390
mov eax, dword [esi + 0xf0]
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x56e54f
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x56e523
sub ecx, edi
lea eax, [esp + 0x38]
push ecx
push edx
push eax
call fcn.0056c550
add esp, 0xc
test eax, eax
je 0x56e54f
mov eax, 1
mov dword [esi + 0x158], eax
jmp 0x56e390
xor eax, eax
mov dword [esi + 0x158], eax
jmp 0x56e390
cmp edi, 0xb
jne 0x56e5db
test ecx, ecx
je 0x56e911
movzx eax, byte [edx]
dec ecx
inc edx
cmp ecx, eax
jb 0x56e911
mov edi, edx
add edx, eax
sub ecx, eax
jne 0x56e911
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], eax
test eax, eax
je 0x56e911
cmp dword [esi + 0x78], ecx
jne 0x56e390
mov ecx, dword [esi + 0xf0]
lea eax, [ecx + 0xc0]
push eax
lea eax, [ecx + 0xc4]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0056c5c0
add esp, 0xc
test eax, eax
jne 0x56e390
mov dword [ebx], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0xa
jne 0x56e632
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0056c500
add esp, 8
test eax, eax
je 0x56e911
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x56e911
test al, 1
jne 0x56e911
cmp dword [esi + 0x78], 0
jne 0x56e390
mov ecx, dword [esi + 0xf0]
lea eax, [ecx + 0xc8]
push eax
lea eax, [ecx + 0xcc]
push eax
lea eax, [esp + 0x60]
jmp 0x56e5bb
cmp edi, 0x23
jne 0x56e658
mov eax, dword [esi + 0x1a4]
test eax, eax
je 0x56e390
push dword [esi + 0x1a8]
push ecx
push edx
push esi
call eax
add esp, 0x10
jmp 0x56e5c4
cmp edi, 0xd
jne 0x56e6b2
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0056c500
add esp, 8
test eax, eax
je 0x56e911
mov eax, dword [esp + 0x64]
test al, 1
jne 0x56e911
test eax, eax
je 0x56e911
cmp dword [esi + 0x78], 0
jne 0x56e390
push eax
push dword [esp + 0x64]
push esi
call fcn.00570d30
add esp, 0xc
test eax, eax
jne 0x56e390
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 5
jne 0x56e835
lea edi, [esi + 0x15c]
lea eax, [esp + 0x28]
push edi
push eax
call fcn.00578600
add esp, 8
test eax, eax
je 0x56e911
cmp dword [edi], 1
jne 0x56e82a
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00578660
add esp, 8
test eax, eax
je 0x56e911
push fcn.00525480
push dword [esi + 0x17c]
call fcn.004d98c0
mov edi, dword [esp + 0x54]
add esp, 8
test edi, edi
je 0x56e72a
call fcn.004d9830
mov dword [esi + 0x17c], eax
test eax, eax
je 0x56e5cc
jmp 0x56e734
mov dword [esi + 0x17c], 0
test edi, edi
je 0x56e7b9
nop dword [eax]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00578660
add esp, 8
test eax, eax
je 0x56e911
mov edi, dword [esp + 0x44]
test edi, edi
je 0x56e911
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push edi
push eax
push 0
call fcn.005254d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x56e911
mov ecx, dword [esp + 0x40]
add ecx, edi
push ebx
cmp dword [esp + 0x20], ecx
jne 0x56e935
push dword [esi + 0x17c]
call fcn.004d9920
add esp, 8
test eax, eax
je 0x56e91a
cmp dword [esp + 0x4c], 0
ja 0x56e740
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0056c500
add esp, 8
test eax, eax
je 0x56e911
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x56e390
mov ebx, dword [esp + 0x68]
push fcn.004e5a00
push dword [esi + 0x180]
mov dword [esp + 0x28], ebx
call fcn.004d98c0
push edi
lea eax, [esp + 0x2c]
push eax
push 0
call fcn.004e5a30
add esp, 0x14
mov dword [esi + 0x180], eax
test eax, eax
je 0x56e911
lea eax, [ebx + edi]
cmp dword [esp + 0x20], eax
jne 0x56e911
mov ebx, dword [ebp + 0x10]
jmp 0x56e390
mov dword [edi], 0xffffffff
jmp 0x56e390
cmp edi, 0x3374
jne 0x56e858
mov eax, dword [esi + 0x68]
cmp dword [eax + 0x180], 0
jne 0x56e887
mov dword [eax + 0x33c], 1
jmp 0x56e390
cmp edi, 0x10
jne 0x56e887
mov eax, dword [esi + 0x68]
cmp dword [eax + 0x180], 0
jne 0x56e887
push ebx
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.0056fca0
add esp, 0xc
test eax, eax
jne 0x56e390
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 0x56e8cd
push esi
call fcn.00582680
add esp, 4
test eax, eax
je 0x56e8c5
cmp edi, 0xe
jne 0x56e8c5
push ebx
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.00582830
add esp, 0xc
test eax, eax
je 0x56e390
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 0x56e8e1
mov dword [esi + 0x1dc], 1
jmp 0x56e390
cmp dword [esi + 0x78], 0
jne 0x56e390
push ebx
push ecx
push edx
push edi
push 1
push esi
call fcn.00566fc0
add esp, 0x18
test eax, eax
jg 0x56e390
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.00525480
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.00525480
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 0x56e5cc
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x56e997
cmp dword [esi + 0x1e0], 0
je 0x56e997
test dword [esi + 0x124], 0x40000
jne 0x56e997
push 0
push 0
push 0x152
push 0x140
push 0x14
mov dword [ebx], 0x28
call fcn.004e0f80
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