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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x74
call fcn.100feb80
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov dword [eax], 0x32
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x68]
xor esi, esi
lea eax, [edi + 0x164]
mov dword [edi + 0x160], esi
mov dword [eax], 0xffffffff
mov dword [ecx + 0x344], esi
mov edx, dword [edi + 0x68]
push 0x76f
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x348]
push str.ssl_t1_lib.c
push eax
mov dword [esp + 0x20], esi
call fcn.10054320
mov ecx, dword [edi + 0x68]
mov dword [ecx + 0x348], esi
mov edx, dword [edi + 0x68]
mov dword [edx + 0x34c], esi
mov eax, dword [edi + 0x68]
mov ecx, dword [eax + 0x350]
push 0x772
push str.ssl_t1_lib.c
push ecx
call fcn.10054320
mov edx, dword [edi + 0x68]
mov dword [edx + 0x350], esi
mov eax, dword [edi + 0x68]
mov dword [eax + 0x354], esi
mov esi, dword [ebp + 0xc]
add esp, 0x18
test byte [edi + 0x12c], 0x40
je 0x1003b1d2
mov ecx, esi
mov ebx, edi
call fcn.10037b10
mov ecx, dword [edi + 0x68]
mov edx, dword [ecx + 0x268]
push 0x780
push str.ssl_t1_lib.c
push edx
call fcn.10054320
mov ecx, dword [edi + 0x68]
xor eax, eax
mov dword [ecx + 0x268], eax
mov edx, dword [edi + 0x1fc]
lea ebx, [edi + 0x1fc]
push 0x785
push str.ssl_t1_lib.c
push edx
mov dword [edi + 0x1e4], eax
mov dword [esp + 0x30], ebx
call fcn.10054320
add esp, 0x18
mov dword [ebx], 0
mov dword [edi + 0x1cc], 0
cmp dword [esi + 4], 0
je 0x1003b8b0
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 2
jb 0x1003b27b
movzx ebx, byte [eax]
movzx ecx, byte [eax + 1]
shl ebx, 8
or ecx, ebx
sub edx, 2
add eax, 2
cmp edx, ecx
jb 0x1003b27b
mov ebx, eax
add eax, ecx
sub edx, ecx
jne 0x1003b27b
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x28]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esp + 0x28], ebx
call fcn.100370f0
test eax, eax
jne 0x1003b287
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x2c]
cmp edx, 2
jb 0x1003b89c
mov ecx, dword [esp + 0x28]
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl esi, 8
add ecx, 2
sub edx, 2
or esi, eax
mov dword [esp + 0x78], ecx
cmp edx, 2
jb 0x1003b27b
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
shl eax, 8
or eax, ebx
sub edx, 2
add ecx, 2
cmp edx, eax
jb 0x1003b27b
mov ebx, ecx
add ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x154]
sub edx, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x1003b2ff
mov edx, dword [edi + 0x158]
push edx
push eax
push ebx
push esi
push 0
push edi
call ecx
mov ebx, dword [esp + 0x38]
add esp, 0x18
mov ecx, dword [esp + 0x24]
cmp esi, 0xff01
jne 0x1003b332
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [esp + 0x24]
push ecx
push edi
call fcn.1004fec0
add esp, 0xc
test eax, eax
je 0x1003b27b
mov dword [esp + 0x14], 1
jmp 0x1003b287
cmp dword [edi], 0x300
je 0x1003b287
test esi, esi
jne 0x1003b468
mov dword [esp + 0x78], ebx
cmp ecx, 2
jb 0x1003b27b
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
or eax, edx
sub ecx, 2
add ebx, 2
cmp ecx, eax
jb 0x1003b27b
mov edx, ebx
add ebx, eax
sub ecx, eax
jne 0x1003b27b
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
test eax, eax
je 0x1003b27b
movzx ecx, byte [edx]
inc edx
dec eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
test ecx, ecx
jne 0x1003b27b
lea ebx, [esp + 0x38]
lea esi, [esp + 0x30]
call fcn.10036490
test eax, eax
je 0x1003b27b
cmp dword [edi + 0x78], 0
jne 0x1003b417
mov eax, dword [esp + 0x3c]
cmp eax, 0xff
ja 0x1003b84c
push eax
mov eax, dword [esp + 0x3c]
push 0
push eax
call fcn.100ff0e0
add esp, 0xc
test eax, eax
jne 0x1003b85e
mov esi, dword [edi + 0xf0]
add esi, 0xc4
mov edi, ebx
call fcn.10045480
test eax, eax
je 0x1003b88a
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x160], 1
mov edi, ecx
jmp 0x1003b287
mov edx, dword [edi + 0xf0]
mov edx, dword [edx + 0xc4]
test edx, edx
je 0x1003b45b
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003b430
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x40]
call fcn.10036400
add esp, 8
test eax, eax
je 0x1003b45b
mov eax, 1
mov dword [edi + 0x160], eax
jmp 0x1003b287
xor eax, eax
mov dword [edi + 0x160], eax
jmp 0x1003b287
cmp esi, 0xc
jne 0x1003b4c1
lea ebx, [esp + 0x40]
lea esi, [esp + 0x20]
call fcn.10036460
test eax, eax
je 0x1003b27b
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push 0
push ecx
call fcn.100ff0e0
add esp, 0xc
test eax, eax
jne 0x1003b27b
mov esi, dword [esp + 0x18]
mov edi, ebx
call fcn.10045480
test eax, eax
jne 0x1003b284
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xb
jne 0x1003b525
lea ebx, [esp + 0x58]
lea esi, [esp + 0x20]
call fcn.10036460
test eax, eax
je 0x1003b27b
cmp dword [esp + 0x5c], 0
je 0x1003b27b
cmp dword [edi + 0x78], 0
jne 0x1003b287
mov edi, dword [edi + 0xf0]
lea edx, [edi + 0xc8]
push edx
add edi, 0xcc
call fcn.100495b0
add esp, 4
test eax, eax
jne 0x1003b284
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xa
jne 0x1003b585
lea ebx, [esp + 0x60]
lea esi, [esp + 0x20]
call fcn.10036490
test eax, eax
je 0x1003b27b
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1003b27b
test al, 1
jne 0x1003b27b
cmp dword [edi + 0x78], 0
jne 0x1003b287
mov edi, dword [edi + 0xf0]
lea eax, [edi + 0xd0]
push eax
add edi, 0xd4
call fcn.100495b0
add esp, 4
test eax, eax
je 0x1003b88a
jmp 0x1003b284
cmp esi, 0x23
jne 0x1003b5bf
mov eax, dword [edi + 0x1ac]
test eax, eax
je 0x1003b287
mov edx, dword [edi + 0x1b0]
push edx
push ecx
push ebx
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x1003b287
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xd
jne 0x1003b60b
lea ebx, [esp + 0x68]
lea esi, [esp + 0x20]
call fcn.10036490
test eax, eax
je 0x1003b27b
mov eax, dword [esp + 0x6c]
test al, 1
jne 0x1003b27b
test eax, eax
je 0x1003b27b
cmp dword [edi + 0x78], 0
jne 0x1003b287
push eax
mov eax, dword [esp + 0x6c]
push eax
push edi
call fcn.100391c0
add esp, 0xc
jmp 0x1003b277
cmp esi, 5
jne 0x1003b778
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x20]
push esi
push ecx
call fcn.10036430
add esp, 8
test eax, eax
je 0x1003b27b
cmp dword [esi], 1
jne 0x1003b76d
lea ebx, [esp + 0x50]
lea esi, [esp + 0x20]
call fcn.10049640
test eax, eax
je 0x1003b27b
mov edx, dword [edi + 0x184]
push fcn.1005fdb0
push edx
call fcn.10052f70
mov esi, dword [esp + 0x5c]
add esp, 8
test esi, esi
je 0x1003b67d
call fcn.10052e10
mov dword [edi + 0x184], eax
test eax, eax
je 0x1003b513
jmp 0x1003b687
mov dword [edi + 0x184], 0
test esi, esi
je 0x1003b700
jmp 0x1003b690
lea ebx, [esp + 0x48]
lea esi, [esp + 0x50]
call fcn.10049640
test eax, eax
je 0x1003b27b
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x1003b27b
mov eax, dword [esp + 0x48]
push ebx
lea ecx, [esp + 0x10]
push ecx
push 0
mov dword [esp + 0x18], eax
call fcn.1005fd70
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1003b27b
add ebx, dword [esp + 0x48]
push esi
cmp dword [esp + 0x10], ebx
jne 0x1003b870
mov eax, dword [edi + 0x184]
push eax
call fcn.10052af0
add esp, 8
test eax, eax
je 0x1003b881
cmp dword [esp + 0x54], 0
ja 0x1003b690
lea ebx, [esp + 0x70]
lea esi, [esp + 0x20]
call fcn.10036490
test eax, eax
je 0x1003b27b
mov esi, dword [esp + 0x74]
test esi, esi
je 0x1003b287
mov eax, dword [edi + 0x188]
mov ebx, dword [esp + 0x70]
push fcn.10060430
push eax
mov dword [esp + 0x18], ebx
call fcn.10052f70
push esi
lea ecx, [esp + 0x1c]
push ecx
push 0
call fcn.10060450
add esp, 0x14
mov dword [edi + 0x188], eax
test eax, eax
je 0x1003b27b
add esi, ebx
cmp dword [esp + 0x10], esi
je 0x1003b287
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi], 0xffffffff
jmp 0x1003b287
cmp esi, 0x3374
jne 0x1003b79b
mov eax, dword [edi + 0x68]
cmp dword [eax + 0x180], 0
jne 0x1003b7c2
mov dword [eax + 0x344], 1
jmp 0x1003b287
cmp esi, 0x10
jne 0x1003b7c2
mov edx, dword [edi + 0x68]
cmp dword [edx + 0x180], 0
jne 0x1003b7c2
mov eax, dword [ebp + 0x10]
push eax
push edi
lea ecx, [esp + 0x28]
call fcn.10037950
add esp, 8
jmp 0x1003b277
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x64]
test byte [eax + 0x34], 8
je 0x1003b80b
push edi
call fcn.1004f8d0
add esp, 4
test eax, eax
je 0x1003b803
cmp esi, 0xe
jne 0x1003b803
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [esp + 0x24]
push edx
push edi
call fcn.1004f9f0
add esp, 0xc
test eax, eax
je 0x1003b287
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
cmp esi, 0x16
jne 0x1003b81f
mov dword [edi + 0x1e4], 1
jmp 0x1003b287
cmp dword [edi + 0x78], 0
jne 0x1003b287
mov eax, dword [ebp + 0x10]
push eax
push ecx
push ebx
push esi
push 1
push edi
call fcn.1003c7f0
add esp, 0x18
test eax, eax
jg 0x1003b287
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1005fdb0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.1005fdb0
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
jne 0x1003b513
cmp dword [esp + 0x14], 0
jne 0x1003b8f5
cmp dword [edi + 0x1e8], 0
je 0x1003b8f5
test dword [edi + 0x12c], 0x40000
jne 0x1003b8f5
mov eax, dword [ebp + 0x10]
push 0x902
push str.ssl_t1_lib.c
push 0x152
push 0x140
push 0x14
mov dword [eax], 0x28
call fcn.10053dd0
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